git の履歴から一部のファイルを削除する方法はありますか?

StackOverflow https://stackoverflow.com/questions/96842

  •  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 でリポジトリを圧縮するにはどうすればよいですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top