所谓bug分支,就是我们在开发的过程中,可能突然遇到一个需要解决的bug,但是我们手头的开发工作还没有完成,这个时候我们需要创建新的bug分支进行修复,修复完bug后,我们将bug分支进行合并,然后删除。当手头的工作没有完成时,我们需要先把工作现场git stash
一下,然后去修复bug,修复完成后,再通过git stash pop
,回到工作现场。 比如我们在test1分支下添加了一行``,但是我的开发工作尚未完成,这个时候出现了一个bug需要去修复,所以我先git stash
保存一下工作现场
issue1
分支用于解决bug。 issue1
分支合并到主分支。注意,我们合并代码的时候加了一个参数 --no-ff
。合并分支的时候,加上 --no-ff
参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而 fast forward
合并就看不出来曾经做过合并。使用 --no-ff
合并时会自动创建一个新的commit,所以要加上 -m
并写上描述。 issue1
分支,再切换回 test1
分支,发现我们在 test1
分支上做的开发内容并没有还原。 git stash apply
进行恢复,但是这样恢复,不能把之前打上 stash
的工作环境删除,所以要使用 git stash drop
将打上 stash
的工作环境删除。也可以合并两步操作使用 git stash pop
恢复环境以后删除这个环境。当然也可以使用 git stash list
查看分支上保存的环境。 git branch -D <name>
强行删除。 在多人协作的团队开发过程中,我们还会用到一些其他的功能,如我们要查看远程库的信息,使用 git remote -v
。本地新建的分支如果不推送到远程,对其他人就是不可见的。从本地推送分支,使用 git push origin branch-name
,如果推送失败,先用 git pull
抓取远程的新提交。在本地创建和远程分支对应的分支,使用 git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致。建立本地分支和远程分支的关联,使用 git branch --set-upstream branch-name origin/branch-name
。从远程抓取分支,使用 git pull
,如果有冲突,要先处理冲突。 这些命令都比较见名知意,这里就不再演示了。