問題タブ [bfg-repo-cleaner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
95 参照

git-rewrite-history - BFG リポジトリ クリーナーは、ファイルに対して任意の操作を実行できますか?

MacOS の imageoptim-cli などのツールを使用してイメージを git history から圧縮し、レポ サイズを縮小したいと考えています。BFG は、さらに任意のコマンドの実行をサポートできますか? 私git filter-branchは次のように見えました: https://gist.github.com/zbeekman/7482ccd0e87f495387951bd612dc390e

git filter-branch --prune-empty --tree-filter 'pwd ; ls -a ; imageoptim -a -q --verbose -d <path/to/img/dir/here> || true' -- --all

しかし、これは、それらが導入された後でも、すべてのコミットでそれらのファイルに対してイメージ ツールを実行しました。

0 投票する
1 に答える
266 参照

git - 非ベアリポジトリでの Git リベース後に bfg-repo-cleaner を使用するには?

概要

私は、他の場所から供給された多くの構成のアーカイブとして機能する Git リポジトリを持っています。

  • 200ディレクトリ
  • ディレクトリあたり 100 ファイル
  • ファイルごとに 10K のプレーン テキスト
  • 1 日あたり最大 1000 件のコミット、通常は 10 行未満の編集
  • 1支店
  • 1 人のユーザーがすべてのコミットを処理します
  • 読み取り専用ベースの他のすべてのビューリポジトリ

誰かがこのレポを小さなレポに分割しようと提案する前に、それは顧客のためのオプションではありません。

レポには最大 2 年分のデータが含まれていますが、お客様は過去 90 日間しか必要としません。

プロセス

ここで説明する方法を使用して、90 日前にルートをコミットに正常に移植しました。

  • git checkout -b newroot xyz_90_days_old_rev
  • git リセット abc_original_root_rev
  • git add .
  • git commit --amend -m '履歴を消去'
  • git チェックアウト マスター
  • git rebase --onto newroot xyz_90_days_old_rev

問題は、後で git-filter-branch クリーンアップを使用することです。24 時間以上かかるため、ユーザーにとって許容できないダウンタイムです。

代わりに bfg-repo-cleaner を試してみたいのですが、よくわかりません:

  • このユースケースをサポートしていますか?
  • 裸でないレポで動作しますか?

PSgit checkout --orphan :もう少しエレガントだったことに気づきましたBFGが、レポがむき出しであるcheckout必要があるのに、むき出しではない必要があるという問題は実際には変わりません