git bug分支管理

软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。

当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:

并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?

幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

$ git branch
* dev
master

$ git status #修改t1.txt 不要提交,这是dev分支上

On branch dev

Changes not staged for commit:

(use "git add <file>..." to update what will be committed)

(use "git checkout -- <file>..." to discard changes in working directory)

modified: t1.txt

no changes added to commit (use "git add" and/or "git commit -a")

$ git stash #把现场储存起来

Saved working directory and index state WIP on dev: cd2ba01 br

HEAD is now at cd2ba01 br


$ git checkout master #切到主分支上

$ git checkout -b issue-102 #在主分支上创建新的bug 分支来修复bug

$ vi t1.txt #修改文件


$ git add t1.txt

$ git commit -m "fix bug"


$ git checkout master     #切换到主线

$ git merge --no-ff -m "merged bug fix 102" issue-102 #合并分支到主线

$ git branch -d issue-102 #放心的删除分支

$git checkout dev

$git status     #查看状态


$ git stash list     #查看储存了哪些

stash@{0}: WIP on dev: cd2ba01 br

stash@{1}: WIP on dev: cd2ba01 br


$ git stash pop     #恢复的同时把stash内容也删了

$ cat t1.txt

删除分支:

$ git branch -d feature-vulcan       #普通删除分支
$ git branch -D feature-vulcan       #强行删除分支

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章