0

我在 Bitbucket 上有一个存储库。c265825当我试图压缩提交时,我有点搞砸了提交日志0a1837e

在此处输入图像描述

试图压缩这些提交会导致0942142,它基本上是空的。我的意思是,如果我尝试查看该提交,它显示没有文件更改,这对于“合并”提交可能是正常的——我不知道。

显然我需要在推送到 Bitbucket 之前修复这样的问题,但事后我该如何修复它呢?我想 squash 0942142,如果可能的话c2658250a1837e它看起来像一个名为“删除未使用的文件”的单个提交。

PS:这是一个私人回购(目前),所以没有人取消任何这些更改(还)。

编辑: TheBuzzSaw 下面的回答对于压缩自0a1837e. 但是,我只想压缩这三个提交并保留其余的历史记录(屏幕截图是一个模型 - 不代表实际更改)。所以我不得不这样做:

git reset --hard HEAD~7
git cherry-pick -n 0a1837e..c265825
git cherry-pick -n -m 1 0942142
git commit -m "Removed unused files"
git cherry-pick 8f8308b
git cherry-pick f7b14f5
git cherry-pick bb90ff9
git cherry-pick 976985d
git cherry-pick 6f4d0c2

现在我的提交日志被美化了:

在此处输入图像描述

4

1 回答 1

2
git branch area51
git reset --hard HEAD~7
git merge --squash --no-commit area51
git commit -m "My new commit message."
git push -f
git branch -D area51

根据需要进行调整。

于 2014-01-14T19:00:33.037 回答