git基本工作流程 - git初体验
快过年了,在公司很无聊,想写本小说,发现脑子里都是friendHub,根本不配
1. 拉取仓库代码(第一次)
小赖刚进入公司,电脑里面什么都没有,这个时候,他想看看项目的代码,于是他找了主管要了代码的仓库地址(ssh:// github,xxxxxxx.xxxx),他要拉取仓库中代码:执行了以下命令:
git clone ssh:// github,xxxxxxx.xxxx
结果,拉下来了代码,心里乐开了花,但是看了一会辛苦拉下来的代码发现,cao!不是他想要的分支,是main分支上的代码
默认拉下来的都是main(有的仓库叫master) 分支的代码。他想要的是laihu分支,这可有点难受,想晚上找兄弟打把lol发泄一下。
2. 拉取指定分支代码(第一次)
所以这时候他就想拉取指定分支的代码,在他不懈的努力下,他终于发现了一个点,上面这条命令竟然可以这样用;拉取指定的分支
git clone -b <分支名> ssh:// github,xxxxxxx.xxxx
终于,他拉到了想要的分支的代码,他高兴坏了
在后续的工作中,小赖逐渐发现这两条命令不能满足他复杂至极的场景需求,于是他又开始求索,去看了一下,git clone 命令,描述如下
这个命令的描述是,拷贝一个Git仓库到本地,从书面的意思是一整个仓库啊,为什么只有main呢
尼玛,小赖又不会了……
咦,idea右下角怎么有个分支名
确实,刚才的命令把laihu分支的代码拉下来了,抱着coder的不死不休求索态度,他点了进去
看到了local branch(本地分支) 和 remote branch (远程分支)
确实本地只有laihu 分支,远程分支有laihu1 , laihu2 ,main 三个分支,到这儿,拉取代码的两条命令他弄懂了
3. 更新本地代码——本地没有更改
一切都在顺利的进行,他一直在看代码,可是好景不长,有个兄弟突然拉取了跟他一样的分支,并且在三秒钟之内开发完他的需求,突然后又过了3秒,同事的代码竟然直接推到他看的分支上
在感叹同事真尼玛汼丕的同时,也好奇,这个b到底做了什么, 于是想把他的代码同步下来,本地没有做任何更改,他发现别人在远程仓库中提交了新的代码,但是他的本地没有,于是他想把最新的更新拉下来,他执行了以下命令拉取最新的代码:
git pull --rebase
执行命令前
执行命令中
执行命令后
好了,牛逼同事的代码,出来了,他的本地代码又是最新的了,恭喜自己
一看,原来3秒同事装了个杯,啥也没有
4. 在本地仓库中获取其他分支代码
渐入佳境,小赖看懂了代码,他的主管给我分派了一些任务,就这样,他的第一行CRUD给了公司,他有点小兴奋了;兴奋了一会儿,坏了,可恶的同事又在远程仓库他的分支上提交了新代码
可恶,为何不等我先提交,为何同事的实力如此之强,这时他的问题是:自己本地有更新, 远程仓库也有最新代码,他想着有又去执行一下git pull --rebase 中的命令,可是发现报错了
看图中中的提示可以得到的信息是,1、本地有更新;
解决办法:2、把本地更新提交或者暂存起来
首先 ,提交是不可能提交的,因为小赖自认为自己写的还不够好,想再改一改
于是选择暂存,可是怎么暂存呢
4.1 暂存未提交更新
暂存是都知道什么意思,可是git‘的暂存是什么??????
算了,小赖想不出来,耍把泽拉斯,打个P清醒一下,叫上了嘴强王者小李,不负所望,打完p的他顿悟了
暂存的顺序是 1、git add . (后面有个点,表示追踪所有文件)
2、git stash
他发现idea界面上,小赖更新的文件不在了,恢复了原来的代码版本
执行暂存前:
执行暂存中:
执行暂存后:
小赖的代码暂存起来了,如果你想问存在哪儿的???
别管了,大家都是fw,没必要查户口
4.2 拉取最新代码
真正的问题还没有解决,但是按照刚才的提示
小赖认为它可以拉取同事的最新代码了
于是试了一下
果然,小赖觉得自己牛逼坏了,叉会腰
4.3 恢复自己的代码
别人的代码是拉下来了,可是自己的代码呢,怎么把他取消暂存
小赖,这次没有耍泽拉斯,而是抽了一口鞋盒里的烟蒂,脚臭让他灵机一动
只见手不听使唤在键盘上敲出了