如何在进行合并后压缩 git 提交



我有一个拉取请求,我的原始提交没有通过测试。我有一段时间没有看它,几个月后又回来了。在这段时间里,上游存储库做了一堆提交,所以我将它们合并到我的存储库中。然后,我添加了一个修复损坏测试的提交。

我想将我的拉取请求压缩为单个提交。我有:

2102f91 <-- original commit from Jan 2015
c202023 <-- merge from upstream Feb 2016
df22e9c <-- commit to fix tests Feb 2016

是否可以压缩它,或者删除分支并重做我的拉取请求更容易?

由于您已经推送了现有的分支(我们称之为old_branch),因此我不会重写它。相反,我会从最新的主节点创建一个新分支(我们称之为new_branch)。然后我们可以做一个"壁球合并":

git checkout master -b new_branch
git merge old_branch --squash

现在new_branch将包含一个提交,其中包含所有在old_branch中完成的内容。

最新更新