git の履歴から一部のファイルを削除する方法はありますか?
-
01-07-2019 - |
質問
いくつかのプロジェクトを Subversion から git に移行しました。非常にうまく機能しますが、リポジトリのクローンを作成すると、転送に含まれる多数の .jar ファイルの履歴がすべて含まれるため、非常に長くなります。
特定の種類のファイルの最新バージョンのみをメイン リポジトリに保持する方法はありますか。主にバイナリファイルの古いバージョンを削除したいと考えています。
解決
「git rebase」-i または「git filter-branch」を使用して古いバージョンを削除できます。
http://schacon.github.com/git/git-filter-branch.html
http://schacon.github.com/git/git-rebase.html
その他のドキュメントとチュートリアル:http://git-scm.com/documentation
今後、現在のバージョンのみを保持することはサポートされていません。あなたの最善の策は、代わりに、大きな.jarファイルをダウンロード(またはビルド、または生成する)小さなスクリプトをリビジョン制御に保つことです。
これにより履歴が変更されるため、このリポジトリからの以前のクローンまたはプルがすべて無効になります。
他のヒント
つまり、これには、git コミット ツリー全体を書き換えてファイルを除外する必要があります。使ってみましたか git gc
そして git pack
git でリポジトリを圧縮するにはどうすればよいですか?
所属していません StackOverflow