必备git神技实现清晰git提交历史

2017/11/23 15:42
阅读数 172

原文地址:http://fle.github.io/git-tip-keep-your-branch-clean-with-fixup-and-autosquash.html

可以使用git commit --fixup和git rebase -i --autosquare来保证分支提交记录的整洁,特别适用于当前提交是由于之前某次提交的简单修复

$ (dev) git add featureA
$ (dev) git commit -m "Feature A is done"
[dev fb2f677] Feature A is done
$ (dev) git add featureB
$ (dev) git commit -m "Feature B is done"
[dev 733e2ff] Feature B is done

当提交后发现featureA中忘记去掉pdb了,则可以

$ (dev) git add featureA                # you've removed a pdb : shameful commit
$ (dev) git commit --fixup fb2f677
[dev c5069d5] fixup! Feature A is done

然后通过git log --oneline看下日志

$ (dev) git log --oneline
c5069d5 fixup! Feature A is done
733e2ff Feature B is done
fb2f677 Feature A is done
ac5db87 Previous commit

在合并前使用autosqaure来实现分支记录的整洁,值得注意的是,rebase后面跟的是想要fixup之前一个commit id。

$ (dev) git rebase -i --autosquash ac5db87
pick fb2f677 Feature A is done
fixup c5069d5 fixup! Feature A is done
fixup c9e138f fixup! Feature A is done
pick 733e2ff Feature B is done

然后在git log看下日志

$ (dev) git log --oneline
ff4de2a Feature B is done
5478cee Feature A is done
ac5db87 Previous commit

可以发现fixup的提交在日志中看不到了,是不是很神奇

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部