facebook twitter hatena line email

「Git/大きなファイル履歴削除」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==bfgとは== git履歴の大きめファイルを削除してくれるツール ==準備== javaが必要なのでインストール mac/インストール/java [...」)
 
(push前にgitリポジトリのクリーンアップ)
 
(同じ利用者による、間の11版が非表示)
行9: 行9:
 
==bfgインストール==
 
==bfgインストール==
 
<pre>
 
<pre>
cd /usr/src
+
cd /d/src
 
curl -o bfg.jar https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar
 
curl -o bfg.jar https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar
 
</pre>
 
</pre>
 +
 +
==100MB以上のgit履歴削除==
 +
履歴削除前に、そのファイルがgitに含まれてれば、削除commitしておく。
 +
 +
<pre>
 +
cd repo1
 +
java -jar /d/src/bfg.jar --strip-blobs-bigger-than 100M .git
 +
</pre>
 +
出力
 +
<pre>
 +
Deleted files
 +
-------------
 +
Filename                      Git id
 +
----------------------------------------------------------------------------
 +
FirebaseCppApp-10_0_0.bundle | 2aa412eb (136.0 MB)
 +
FirebaseCppApp-11_4_0.bundle | a4f977b7 (154.1 MB)
 +
FirebaseCppApp-11_5_0.bundle | d49e044e (154.4 MB)
 +
FirebaseCppApp-6_10_0.so    | 12be4e70 (104.6 MB)
 +
FirebaseCppApp-7_1_0.so      | 8bcae0eb (105.0 MB)
 +
FirebaseCppApp-8_1_0.so      | 9c855169 (120.4 MB)
 +
FirebaseCppApp-9_1_0.bundle  | f2986ef8 (131.7 MB)
 +
NotoSansJP-Regular SDF.asset | 9c726834 (131.2 MB), fe2ee0e8 (131.2 MB)
 +
thumbnail.key                | bf3026f8 (205.6 MB), 5e8540cf (262.5 MB), ...
 +
</pre>
 +
色々削除してくれた様子。
 +
 +
今も、使ってるファイルのgit履歴は、消えてない模様。
 +
 +
==指定ファイルの削除==
 +
履歴削除前に、そのファイルがgitに含まれてれば、削除commitしておく。
 +
 +
パスは含めるとエラーになるので、ファイル名のみで、パスは、含めないないこと
 +
java -jar /d/src/bfg.jar --delete-files large_file.zip .git

2025年8月8日 (金) 18:40時点における最新版

bfgとは

git履歴の大きめファイルを削除してくれるツール

準備

javaが必要なのでインストール

mac/インストール/java [ショートカット]

bfgインストール

cd /d/src
curl -o bfg.jar https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar

100MB以上のgit履歴削除

履歴削除前に、そのファイルがgitに含まれてれば、削除commitしておく。

cd repo1
java -jar /d/src/bfg.jar --strip-blobs-bigger-than 100M .git

出力

Deleted files
-------------
	Filename                       Git id
	----------------------------------------------------------------------------
	FirebaseCppApp-10_0_0.bundle | 2aa412eb (136.0 MB)
	FirebaseCppApp-11_4_0.bundle | a4f977b7 (154.1 MB)
	FirebaseCppApp-11_5_0.bundle | d49e044e (154.4 MB)
	FirebaseCppApp-6_10_0.so     | 12be4e70 (104.6 MB)
	FirebaseCppApp-7_1_0.so      | 8bcae0eb (105.0 MB)
	FirebaseCppApp-8_1_0.so      | 9c855169 (120.4 MB)
	FirebaseCppApp-9_1_0.bundle  | f2986ef8 (131.7 MB)
	NotoSansJP-Regular SDF.asset | 9c726834 (131.2 MB), fe2ee0e8 (131.2 MB)
	thumbnail.key                | bf3026f8 (205.6 MB), 5e8540cf (262.5 MB), ...

色々削除してくれた様子。

今も、使ってるファイルのgit履歴は、消えてない模様。

指定ファイルの削除

履歴削除前に、そのファイルがgitに含まれてれば、削除commitしておく。

パスは含めるとエラーになるので、ファイル名のみで、パスは、含めないないこと

java -jar /d/src/bfg.jar --delete-files large_file.zip .git