Git学习Bug和Feature分支管理详解

当我们拿到一个新的bug或者feature(功能)时,首先应该想到经过分支来完成我们的任务。由于在软件开发中,老是会根据客户的需求不断的添加新的feature进来,同时在作移动开发过程当中bug也能够说是“常客”。经过前几章的内容,相信我们很天然会想到建立一个新的branch(分支),在此分支上来修复bug或者实现feature,完成后,而后再merge(合并)到我们的主分支上。git

当我们接到一个好比说是关于空指针的bug,而我们手中的活(在b1分支上的bug)还没提交,预计要半天的时间,但新的bug必须在1小时内修完。这时我们就要用到“储存现场”的功能git stash,这样我们能够在修护新的bug以后再恢复现场来继续原先尚未提交的操做。下面我们先修改以前的hellogit.txt文件的,修改内容为:app

Hello Git
Git is so easy.

而后我们仍然使用git status来观察一个该文本的状态: spa


能够看到红色部分提示,该文件已经被修改,同时该文件的状态仍处于工做区中,这是我们接到一个新的bug,上级要求必须尽快修复,这时我们先“保存现场”:
指针


用git status查看工做区,就是干净的,除非有没有被Git管理的文件:
code


所以咱能够放心地建立分支来修复bug,如今假定我们使用主分支(master)来修复我们的这个新的bug,就从主分支上建立一个临时分支b2:
开发


如今修复1.txt中的bug:it


bug修好了,下面提交:ast


切换到主分支上在merge(合并):class


而后删除临时分支b2:软件


好了,新的bug已经修复完,下面就能够继续回到我们原来的分支(b1)上继续工做了:


我们能够看到,工做区是干净的,以前我们“储存的现场”哪去了呢?咱能够用git stash list来查看:


存储的工做现场还在,Git把stash内容存在某个地方了,可是须要恢复一下,有两个办法:

方法一:先用git stash apply来恢复现场,而后再用git stash drop来删除stash内容;

方法二:直接使用git statsh pop来恢复并删除stash内容。

我们为了方便,就直接用git stash pop了:


能够看到b1分支上hellogit.txt的状态又回来了,咱又能够继续在b1分支上干活了微笑


总结:(1)存储现场:git stash

            (2)查看工做现场:git stash list

            (3)恢复现场有两种:1,使用git stash apply 来恢复,而后再使用git stash drop来删除stash的内容。

                                               2.使用git stash pop,来恢复并删除stash内容。

            (4)若是要屡次使用stash,恢复的时候先用git stash list查看,而后在指定你要恢复的内容:git stash apply stash@{0}。

           ( 5) 若是要丢弃一个没有合并的分支,可使用git branch -D branch-name。

相关文章
相关标签/搜索