我想通过git rebase清理一个git repo(github托管),并使用' fixup'将类似的提交组合成一个。选项。
我的回购可以追溯到3年,所以我认为我可以逐步做到这一点
例如,我最近的5次提交都没问题,但是第6-10次需要合并为一次。所以我这样做:
git rebase -i @~10
以相反的顺序列出它们,第10次提交是我想要选择的 接下来的4个提交都是' fixup' 剩下的5个被设置为“挑选”。
当我结束时,我跑:
git push origin +master
问题在于虽然提交已合并,但github代码视图中显示的日期是今天的。
我想简单地将它们组合在原始提交上保留日期/时间戳。这可能吗?
答案 0 :(得分:1)
可能的解决方法是在使用git rebase
时使用--committer-date-is-author-date选项...但它与交互式rebase不兼容。
所以你可以尝试:
然后,一旦rebase完成,make a git filter-branch
恢复提交日期:
git filter-branch --env-filter 'GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE; export GIT_COMMITTER_DATE'