720倍高速に動作するよりシンプルコードが公開されているのでカスタマイズして使用できる使い所git-filter-branchのオプションが結構複雑なのでシンプルに実行したいときgit-filter-branchでは時間がかかりすぎて終りが見えないときといった感じ。mode)まずは検証用に適当なリポジトリを作成。master適当にブランチを切ったりしてワークツリーを作成し、remoteにpushしておくここでは1コミットにpngファイルを1つコミットしている。hoge_result1オプションなしの場合、HEADが指しているブランチのみプロテクトの対象となり、最新のコミットが保持される。masterでは最初のコミットと、5番目のコミットで追加されたpngファイルが残っており、一番最初に追加した画像が5番目のコミットで追加したことになっている。hogeブランチやfugaブランチは何も無かったことに。masterの1番最初のコミットでの画像追加が無かったことに。パターン2:--no-blob-protectionオプションを付けてみるこのオプションは対象ファイルを履歴上からも全て消し去る。hoge_result2消え去っている。master以外のブランチからも削除されている。完全に消し去りたい時はこれで良さそう。パターン3:--protect-blobs-fromオプションを付けてみる--protect-blobs-fromでは、プロテクトするブランチを指定できる。hogeブランチをプロテクト対象にする。hoge_result3masterは、パターン1と同様で、masterブランチで追加したファイルが最新のコミットにまとめらている。hogeブランチは、masterからの派生時に存在した1.pngとhogeブランチで追加した画像2つが最新のコミットでaddされたことになっている。2.pngを追加した時点のコミットは空コミットに。fugaブランチはプロテクトの対象にしなかったので、画像は追加されない。masterにhogeブランチとfugaブランチをそれぞれマージしてみる。fugaブランチのコミット履歴上、何も追加していないことになっているので、fugaブランチのマージ履歴は空に。4.pngが正しくマージされる。1.pngもhogeの最新コミット履歴で追加したことになっていたけど、ここでコンフリクトなどは発生しない。最終的なmasterブランチでは、fugaブランチで追加した画像ファイル以外の画像がちゃんと残っている。その他注意点--delete-foldersはパスの区切り文字を使えず、フォルダ名のみで探して削除するので、同名のフォルダが違うパスで存在する場合、両方とも削除されてしまう。(未検証)特定のフォルダ以下を対象にするといった事はできない。--aggressiveはファイル数やサイズによっては結構時間がかかる。13inchとかだと結構辛い雑感filter-branchと比べると実際にやっていることはシンプル。lfsに移行したい時なんかには重宝しそう。対象ファイルをプロテクトした場合、最新のコミット履歴で追加されたように見えるので、後で履歴を見直したときには何だこれ?となりそう。Googleが提供している、様々なチュートリアル...2017-01-18bfgの実行でLargeObjectExceptionが発生した場合の対応bfgを実行した際に以下のエラーが発生した。linkArchiveSearchLinksはてなブログブログをはじめる週刊はてなブログはてなブログProGroupsプログラミングはてなブログをはじめよう!yuki10kさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。