同様の質問をカバーするトピックがいくつかありますが、おそらく解決すべきものでこれを解決できないようですGit rebase
。
かなり大きな Git リポジトリがあり、コミット履歴の大部分を切り離したいと考えています。コミット グラフの現在の状態は次のようになります。
(huge tree of various branching and merging) -> commit_I_want_to_squash_to -> branching off into master and couple of feature branches
私の望ましい結果は次のようになります。
commit_I_want_to_squash_to_is_first_in_tree -> branching off into master and couple of feature branches
現在のすべてのブランチが起点として単一のコミットを使用しているため、これは何らかの形で可能になるはずだと思います。で遊んでみましたがgit rebase --squash
、300 以上の分岐履歴をつぶすのはかなり大きな作業のようです。最初に作成したいコミットの直前に、コミットツリーを「スライス」するオプションがあるはずです..