3

私の会社は、CVS から git に移行中です。私たちは長い間 CVS を使用してきたので、膨大な歴史があります。手作りするには多すぎる。

ログを見ると、実行できる多くのスカッシュがあります。たくさん。私がやりたいのは、2 つの隣接するコミットを比較するスクリプトをフックすることです。true が返された場合は、コミット メッセージを連結し、コミットをスカッシュします。また、2 つのコミットと 1 つのコミット メッセージを受け入れて、それらを 1 つにまとめてつぶすコマンドにも満足しています。

git rebase --interactive は私が必要としているものに近いですが、「スカッシュ」には手動での介入が多すぎます。スカッシュの代わりに「修正」を使用することも検討しましたが、コミットメッセージを失いたくありません。

何か案は?

4

1 に答える 1

3

--autosquash はどうですか?

これを git filter-branch と組み合わせて、コミットの名前を変更するスクリプトを作成できます。(ただし、警告の言葉です。フィルター ブランチに注意し、man ページの警告を読んでください。これは、気弱な人向けのコマンドではありません。)

于 2010-06-11T22:07:08.090 に答える