git常用命令总结git分支问题(三)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cjDaShuJu_Java/article/details/80085092

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

详细学习可浏览网站:廖雪峰哥Git官网

1.用git log --graph命令可以看到分支合并图。

git log --graph --pretty=oneline --abbrev-commit

git log --graph --pretty=oneline 


2.分支管理策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
合并dev分支,请注意--no-ff参数,表示禁用Fast forward:
git merge --no-ff -m "merge with no-ff" dev
因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

3.Bug分支

软件开发中,bug很多。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?


Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。
现在,用 git status查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以放心地创建分支来修复bug。

git stash list(查看贮藏的分区)


工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
一是用 git stash apply恢复,但是恢复后,stash内容并不删除,你需要用 git stash drop来删除;
另一种方式是用 git stash pop,恢复的同时把stash内容也删了:
可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
git stash apply stash@{0}




猜你喜欢

转载自blog.csdn.net/cjDaShuJu_Java/article/details/80085092