私は 3 年以上の大きなリポジトリ git を持っています。1 年以上前の変更履歴を削除したいと考えています。これは可能ですか?git rebase を使用できますが、その方法は?
2810 次
2 に答える
3
あなたの正確な状況を例として使用するPro Git bookから、この記事でgit replace
呼び出された黒魔術を調べてください。基本的に、新しいルートとして機能させたい履歴のポイントを見つけることができれば、親を持たないコミットに置き換えることができます。元のツリーを単一のマシンに保存することもできるため、履歴が再度必要になった場合に簡単に復元できます。
git rebase
(およびgit replace
、さらに言えば) の問題は、ブランチを含むツリー全体を書き換えたいため、すべてが異なるコミットを指すことに注意してください。これは、チームの他のメンバーが変更をマージするのを難しくするという結果ももたらします。これは、すべての親が以前とは異なる SHA を持っているためです。
于 2012-10-26T19:10:11.970 に答える
0
履歴を削除しても、おそらく問題は解決しません。ある時点で、大きなファイルがリポジトリにコミットされ、その後削除される可能性があります。
于 2012-10-26T18:02:34.583 に答える