git学习--bug分支

如果你接到一个修复代号为1的任务,那么想创建一个分支issue-1来处理,但是,现在在dev上进行的工作还没完成,无法完成提交。如下图

则需要用git stash把工作现场先储存起来,等以后恢复现场后继续工作。如下图,执行git stash后工作区为空

首先确定要在哪个分支修复bug,假设是master,就从master创建临时分支,并在上面修复bug

修复完成后,切换到master分支,并完成合并,最后删除issue-1分支

然后,问题来了,因为dev是从原来的master拉下来的,是存在已经修好的那个bug的,如果这里没有将dev与修复好bug的master合并一次,而是直接在dev分支恢复现场工作,这样原来的bug还存在dev中,以后合并可能会出现错误,所以正确的执行步骤是:1.跳转到dev分支 2.将dev分支和修复好bug的master合并 3.再恢复原来的工作现场 这样一来dev原来的bug也被修复了,如下图

用git log 可以查看分支的合并情况

命令总结:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

查看分支合并情况:git log --graph --pretty=oneline --abbrev-commit

将当前工作现场“储藏”起来:git stash

查看当前工作状态:git status

恢复上一个工作区内容:git stash pop/git stash apply

二者的不同是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;用git stash pop,恢复的同时把stash内容也删了

查看储藏区内容:git stash list

原文地址:https://www.cnblogs.com/shubiao/p/4194818.html