この特定のシナリオのようなものを見つけることができなかったと思います。
2007年半ばまでさかのぼって、500以上のブランチ、500以上のタグを含む、多くの履歴を持つgitリポジトリがあります。約19,500件のコミットが含まれています。2010年1月1日より前にすべての履歴を削除して、処理を小さく簡単にできるようにします(履歴の完全なコピーをアーカイブリポジトリに保存します)。
新しいリポジトリのルートになりたいコミットを知っています。しかし、そのコミットで開始するためにリポジトリを切り詰める正しいgit mojoを理解することはできません。私はいくつかの変種を推測している
git filter-branch
移植を含むことが必要でしょう。また、個別に保持したい200以上のブランチを個別に処理してから、リポジトリにパッチを再度適用する必要がある場合もあります(私が行う方法を知っています)。
誰かがこのようなことをしたことがありますか?それが重要であれば、私はgit 1.7.2.3を持っています。
git filter-branch --tag-name-filter cat -- --all
タグを更新します。しかし、私は削除したい古い履歴を指す古いタグも持っています。これらの古いタグをすべて削除するにはどうすればよいですか?それらを削除しない場合、古い履歴は消えず、引き続きで表示できgitk --all
ます。