所谓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,如果有冲突,要先处理冲突。
这些命令都比较见名知意,这里就不再演示了。