1

私は2つのリポジトリを持っています。リポジトリ A とリポジトリ B です。リポジトリ A から 1 つのディレクトリを移動しています。dir-to-move をリポジトリ B に移動します。しかし、git-filter-branch が膨大な時間を費やしているそのディレクトリ (つまり dir-to-move ) のみの git 履歴を保持したいと考えています。そこで、より高速な BFG Repo クリーナーを使用したいと思います。しかし、.git フォルダーのサイズも縮小したいと考えています。したがって、質問は2つあります

  1. BFG Repo クリーナーを使用して次のコマンドを実行するにはどうすればよいですか?

git filter-branch --subdirectory-filter {移動するディレクトリ} -- --all

  1. BFG Repo クリーナーを実行した後に .git サイズを縮小する方法は?(現在 GB から MB になっています)
4

1 に答える 1

0

BFG Repo クリーナーを使用して次のコマンドを実行するにはどうすればよいですか?

git filter-branch --subdirectory-filter {dir-to-move} -- --all

BFG の問題に対して受け取った回答git filter-branch --subdirectory-filter に相当する質問に対処します。

BFG にはそのような機能はありません。これが必要な場合は、自分で追加する必要があります。

主な障壁は、BFG の現在の動作方法であり、リポジトリ内のブロブの特定のパスには関係ありません。すべてのコミットにアクセスし、各コミットのツリーとサブツリーを再帰的に処理します。そのため、処理中の現在のサブツリーの「ディレクトリ」の位置を追跡しないため、フルパスで動作する機能はサポートされていません。

于 2018-11-28T09:24:02.077 に答える