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 恢复自己的代码
别人的代码是拉下来了,可是自己的代码呢,怎么把他取消暂存
小赖,这次没有耍泽拉斯,而是抽了一口鞋盒里的烟蒂,脚臭让他灵机一动
只见手不听使唤在键盘上敲出了👇
git stash pop
犹如天神下凡,他暂存的一行代码(写了一周)又出来了 最后,牛逼同事的代码和他的代码在他的idea里成为了相亲相爱的一家人,没有conflict(冲突)
什么是冲突?怎么解决冲突?好吧下次一定。
回答一下刚才文中的问题,暂存在哪里的呢???
命令:git stash list
小赖明白了,原来是存在…… ??哪里,好吧,只是看到了,其实小赖知道,存在电脑里面的 下次小赖要学习解决(conflict)
推荐文章
git操作之pull拉取远程指定分支以及push推送到远程指定分支(https://blog.51cto.com/u_15262460/2883040)
git拉取指定分支的代码(https://blog.csdn.net/weixin_39800144/article/details/78205617)
|