自从问了我最后一个关于使用 GIT变基的问题以来,我决定根本不想变基。相反,我想:
- 分支
- 工作工作工作,随时签到和推
- 扔掉所有这些提交并假装它们从未发生过(所以在工作结束时进行一次干净的提交)
我目前通过将文件复制到新目录然后将它们复制回新分支(与我的工作分支在同一点分支),然后将其合并到master
任何位置来执行此操作。
这真的很糟糕吗?为什么?更重要的是:有没有更好的/GIT 方法来做到这一点? git rebase -i
迫使我合并(并挑选和挤压)。
最简单的方法是软复位。
所以检查你的主题分支:
git checkout -b topic master
工作工作工作。
git commit
git commit
git commit
git commit
对此感到满意,您可以在 master 之上进行新的单次提交
git reset --soft master
git commit
现在合并到master(这将是一个快进)并整理主题分支。(请注意,如果您准备记住或标记 master 所在的位置并且只在 master 上工作而不进行分支,则无需执行此操作,您可以刚刚完成git reset --soft old-master
并且git commit
不需要这些最后的清理步骤。)
git checkout master
git merge topic
git branch -d topic
您也可以使用git merge
该--squash
选项。