私は3年以上にわたり大きなリポジトリを所有しています.1年以上前の変更履歴を削除したいと思います。これは可能ですか? git rebaseを使うことができますが、どうしたらいいですか?Git削除履歴コミット
答えて
おそらく、履歴を削除しても問題は解決しません。ある時点で、大きなファイルがリポジトリにコミットされ、その後削除される可能性があります。
Find files in git repo over x megabytes, that don't exist in HEADをご覧ください。
正確な状況を例として使用してgit replace
というthis article from the Pro Git bookという黒い魔法を調べます。基本的に、新しいルートとして動作させたいというヒストリのポイントを見つけることができれば、あたかもそれが薄い空気から作られたかのように、親を持たないコミットに置き換えることができます。元のツリーを1台のマシンに保存することもできます。必要に応じて履歴を簡単に復元できます。
git rebase
(とその点についてはgit replace
)の問題は、ブランチを含めてツリー全体を書き換えて、すべてが異なるコミットを指していることにあります。これはまた、あなたのチームの他の人が変更をマージすることを困難にする結果になります。なぜなら、すべての親が以前とは異なるSHAを持っているからです。
私が読んだものから、 '' git replace''は変化するハッシュの問題を回避することはできません。 –
@Jonasあなたが正しいです。私の答えを明確にするために再構成しました。 –
素晴らしい!またgitの巨大なバグでしょう。あなたはハッシュを変更することなく歴史全体を置き換えることができます。結局のところ、これらの暗号ハッシュはgitを使う理由の1つです。 –
- 1. 履歴から複数のgitコミットを削除する
- 2. すべてのGitコミット履歴を削除する
- 3. Githubコミット履歴を削除する
- 4. マージ後のGitブランチとコミット履歴
- 5. gitコミット履歴を消去する
- 6. githubのすべてのコミット履歴を削除するには?
- 7. リモートリポジトリのコミット履歴
- 8. Githubコミット履歴ナビゲーション
- 9. gitの履歴から削除されたファイルを削除する
- 10. すべてのgitの履歴からファイルを削除する
- 11. gitの履歴からファイルを削除できない
- 12. gitの履歴で削除のみを表示する方法
- 13. スカッシュgitの履歴
- 14. 市場の履歴を削除する
- 15. ブラウザの履歴を削除する
- 16. git workflow:機能コミットの履歴を維持する
- 17. gitでトピックブランチをマージして、トピックブランチのコミット履歴をすべて削除しますか?
- 18. 私がローカルに持っていないリモートgitの履歴からコミットを削除します
- 19. gitソース行の履歴
- 20. 履歴なしのgitブランチ
- 21. 全体gitの履歴は
- 22. gitの履歴からファイルを削除する - 不正な改訂エラー
- 23. gitすべての削除されたファイルを履歴全体から削除します
- 24. コミットを削除せずにgitを削除ブランチ
- 25. リポジトリの履歴で各gitコミットの単語数を見つける方法は?
- 26. リポジトリ間の履歴履歴
- 27. GWT履歴:履歴トークン
- 28. gitの履歴を整理する
- 29. Gitのログ履歴の簡素化
- 30. git logすべてのブランチマージの履歴
あなたの変更を保存するために作られました。履歴を削除すると、どのような影響がありますか? –
私の歴史は大きすぎます.git dirは400 MBを超えています。すべてのクローンでこの履歴をすべてダウンロードする必要があります:( – paweb
可能な複製:[gitリポジトリから古い履歴を削除するにはどうすればいいですか? /stackoverflow.com/questions/4515580/how-do-i-remove-the-old-history-from-a-git-repository) –