正所谓众口难调,写代码的时候,有可能会同时有两个领导让你分别做一份作品提交给他们两个。
Q:那我要怎么在写代码的时候实现两头并进呢?
A:这里就需要使用到git分支。
Q:什么是branch?
A:branch就相当于基于当前的树干所长出来的树枝,也就是说我们可以在同一根树干上(同一个基本代码),在各个分支长出开出不同的结果。。
Q:那我要怎么新建一个分支?
A: git branch xx
xx:你给分支取的名字。
当我们运行了git branch xx 之后,它就会基于你当前所在的这个分支最后一次提交的文件,进行一个复制,作为这个新创建的 xx 分支的初始代码。
Q:那我怎么从当前分支去往别的分支写代码呢?
A:使用 git checkout xx 命令。
xx:你要去往的分支。
Q:那我怎么将两条分支进行合并呢?
A:首先跳转到你想要保留的那个分支,然后调用 git merge xx(你想要合并的分支)
使用了这个代码之后,有可能你两个分支都对同一个文件进行了修改,计算机不知道该保留谁的,所以得我们自己来选择,到底保留哪些改变?
注意:我们可以用git status -sb 来查看具体是哪个文件存在冲突。
文件名前有两个UU 的就是存在冲突的文件。
运行了上面的git merge xx 指令之后,VsCode会打开一个存在修改冲突的文件,然后让我们选择保留哪些改变。
最简单的方法就是,你自己用鼠标和键盘,删掉上面那段代码中你不想保留的部分。
当不想保留的部分都删除干净后,进行下面的操作。然后保存下。
注意,你上面的合并也是一种修改。
所以,你还要记得对这个修改进行提交。
还是那两位老搭档。确保运行下面两句,这个合并才算正式完成。
git add xx
git commit -m xx
Q:为何不用写提交的利用?
A:因为当你运行完 git commit 之后,在VSCODE中会自动跳出一个文件,就是之前使用git commit -v 时,出现的那个让你写提交理由的。
当我们进行分支合并的时候,运行git commit ,所跳出来的文件里会自动帮你补上理由:Merge branch 'xx'
最后提一句,git add 处理的是文件的变化,比如我们在删除文件的时候也要进行提交。
Q:如果你在当前分支用鼠标删除了这个文件之后,却不做这个add 和commit 的操作会怎么样?
A:那么当你从别的分支重新跳到当前分支的时候你就会发现,你原本觉得已经删除掉的1.txt 又出现在了你的文件夹里面。
其原因就是因为你没有将之前的删除操作提交。