我对一些代码进行了重大的重构,在这个过程中我已经提交了几次。这还没有被推送到任何公共回购。在推送之前,我现在想将提交重新组织成逻辑单元。问题是我不仅要压缩提交,还要将大块头重组到其他提交中。
为了清楚起见,我用大块 A1、A2、A3 提交 A,并用大块 B1、B2、B3 提交 B。我想检查 A 之前的版本,并有新的提交 C 和大块 A1、A2、B2 和新的提交 D 和大块 B1、B3、A3。
提前致谢。
看一下git rebase
,拆分提交。
听起来您想要一组完全不同的提交。如果是这种情况,只需回到原点(例如 git reset origin/master),然后重复使用 git add -p 和 git commit 直到完成。如果需要,您可以使用 git stash 在提交后测试每个提交,并使用 git --amend 修复任何错误。
或者, git rebase -i 实际上可以拆分提交。阅读手册页,这并不难,但有点麻烦。