GIT备忘

2011-03-25 黄毅

不同分支之间切换干活时保存临时性变更

当然, git stash 本意是用来干这个的,把临时变更放到垃圾箱里。但是离开一个分支太久了,回来的时候会不记得之前stash过了有木有!最终还是感觉创建一个临时的commit比较有安全感。给它起个名字叫 temp,切换回来的时候看到有叫 temp 的 commit 就 reset HEAD^ 一次,回退一个版本,继续开发即可。

保持线性的版本历史

我还是倾向于保持master线性的版本历史,这样回顾的时候舒服一些。当然过程中可以有n个分支并行开发,只是最后merge到master的时候保证线性历史即可。要实现这个需要做到这么两点:

  • feature分支要获得master上最新变化时坚持使用 rebase ,本地就是 git rebase master ,远程则是 git pull --rebase remote master
  • leader准备把完成的feature分支合并到master时,记得加上 --ff-only 选项,比如 git merge feature --ff-only ,这样git只会尝试 fast-forward 操作,如果不成功则报错,如报错,叫你的成员重新 rebase master 一次即可。让负责写的代码的负责解决冲突,让后checkin的负责解决冲突。

blog comments powered by Disqus

转载请注明出处,收藏或分享这篇文章到: