1

Gitで複数のコミットの作成者とコミッターの名前と電子メールを変更することを説明するこの質問を見つけましたここに記載されているスクリプト/コマンドのいずれかを実行すると、元のコミットはまだローカルリポジトリに保存されていますか?それらを取り除く方法はありますか?

4

1 に答える 1

4

はい。元のコミットはgitリポジトリに残ります。を見るとgit reflog、最近の変更の履歴がわかります。コミットは、どこかで参照されている限り、永続的に残ります。したがって、たとえば、元のコミットを持つブランチがある場合、それらが削除されることはありません。ただし、コミットが孤立している場合(つまり、どの参照からもアクセスできない場合)、git gc実行時に最終的に削除されます。ただし、デフォルトでは、これは30日間発生しません。これをすぐに実行するには、次のコマンドを実行できます。

git reflog expire --all
git gc --prune=now --aggressive

必要なデータを誤って失いたくないので、注意して使用してください。これにより、参照されていないコミットが削除されます。

于 2012-09-15T22:48:22.960 に答える