欢迎来到天天文库
浏览记录
ID:37954782
大小:648.23 KB
页数:5页
时间:2019-06-03
《bug分支和feature分支》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、bug分支和feature分支软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:$gitstatus#Onbranchdev#Changestobecommitted:#(use"gitresetHEAD..
2、."tounstage)##newfile:hello.py##Changesnotstagedforcommit:#(use"gitadd..."toupdatewhatwillbecommitted)#(use"gitcheckout--..."todiscardchangesinworkingdirectory)##modified:readme.txt#并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么
3、办?幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:$gitstashSavedworkingdirectoryandindexstateWIPondev:6224937addmergeHEADisnowat6224937addmerge现在,用gitstatus查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以放心地创建分支来修复bug。首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支
4、:1/5$gitcheckoutmasterSwitchedtobranch'master'Yourbranchisaheadof'origin/master'by6commits.$gitcheckout-bissue-101Switchedtoanewbranch'issue-101'现在修复bug,需要把“Gitisfreesoftware...”改为“Gitisafreesoftware...”,然后提交:$gitaddreadme.txt$gitcommit-m"fixbug101"[i
5、ssue-101cc17032]fixbug1011filechanged,1insertion(+),1deletion(-)修复完成后,切换到master分支,并完成合并,最后删除issue-101分支:$gitcheckoutmasterSwitchedtobranch'master'Yourbranchisaheadof'origin/master'by2commits.$gitmerge--no-ff-m"mergedbugfix101"issue-101Mergemadebythe'r
6、ecursive'strategy.readme.txt
7、2+-1filechanged,1insertion(+),1deletion(-)$gitbranch-dissue-101Deletedbranchissue-101(wascc17032).太棒了,原计划两个小时的bug修复只花了5分钟!现在,是时候接着回到dev分支干活了!$gitcheckoutdevSwitchedtobranch'dev'$gitstatus#Onbranchdev2/5nothingtocommit(work
8、ingdirectoryclean)工作区是干净的,刚才的工作现场存到哪去了?用gitstashlist命令看看:$gitstashliststash@{0}:WIPondev:6224937addmerge工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:一是用gitstashapply恢复,但是恢复后,stash内容并不删除,你需要用gitstashdrop来删除;另一种方式是用gitstashpop,恢复的同时把stash内容也删了:$gitstashpop#
9、Onbranchdev#Changestobecommitted:#(use"gitresetHEAD..."tounstage)##newfile:hello.py##Changesnotstagedforcommit:#(use"gitadd..."toupdatewhatwillbecommitted)#(use"gitcheckout--..."todiscardchangesinworkingdirectory)##modified:r
此文档下载收益归作者所有