Bitbucket にリポジトリがあります。コミットをつぶそうとしたときに、コミットログを台無しにしてしまいましc265825
た0a1837e
。
これらのコミットを押しつぶそうとすると0942142
、基本的に空である が発生しました。つまり、そのコミットを試してみると、ファイルが変更されていないことが示されます。これは、「マージ」コミットでは通常のことです-わかりません。
明らかに、Bitbucket にプッシュする前にこのような問題を修正する必要がありますが、事後にどうすれば修正できますか? スカッシュしたいのですが0942142
、可能であれば、「使用されていないファイルを削除しました」という単一のコミットのように見えます。c265825
0a1837e
PS: これは (今のところ) プライベート リポジトリであるため、(まだ) 誰もこれらの変更をプルしていません。
編集:以下の TheBuzzSaw の回答は、0a1837e
. ただし、これら 3 つのコミットを押しつぶして、残りの履歴を保持したかったのです (スクリーンショットはモックアップであり、実際の変更を表すものではありません)。だから私はこれをしなければなりませんでした:
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
これで、コミット ログが美しくなりました。