3
に分割うち単一のリポジトリを、私は、既存のgitリポジトリがあります。gitの手術 - 多くのリポジトリ
my-repo/
.git/
foo/
foo-content-goes-here
bar/
bar-content-goes-here
を私は次のリポジトリの構造を取得したい:
my-foo-repo/
.git/
foo-content-goes-here
my-bar-repo/
.git
bar-content-goes-here
私はDetach (move) subdirectory into separate Git repositoryを見てきました。これは私が必要とすることをほとんど行います。
私は、これらのコマンドを実行しました:
$ cd path/to/my-repo/../
$ git clone --no-hardlinks my-repo foo-repo
$ cd foo-repo
$ git remote rm origin
$ git filter-branch --tag-name-filter cat --subdirectory-filter foo \
--prune-empty -- --all
$ git reset --hard
$ git gc --aggressive
$ git prune
私は、これはほとんどの作品と言います。記載されている問題:
git gc --aggressive
ステップは、私のリポジトリに2時間以上かかる。現在の単一のリポジトリから抽出する必要がある13のリポジトリがあります。私はこのプロセスをスクリプト化することができますが、それをスピードアップするための方法を入力していただければ幸いです。git log
とgitk
は、新しいfoo-repoの期待されるコミットを表示します。 gitXは、期待されているコミットと、古い履歴を持つ切断されたツリーを表示します。 foo-repoのディレクトリサイズは私が予想していたよりもはるかに大きいので、おそらく私はいくつかのものが残っています。私はこのようなものを取り除く方法がわからないのですか?私はそれを押す前にそれを取り除く必要さえしますか?
JB、応答に感謝します。私は後でリポジトリの新しいコピーでこれを試し、私がどのように乗り越えるかを見ていきます。 – jabley
@jableyだから、どうしたの? –
私はちょうどその後会社を辞任したので、その仕事に何が起こったのか分かりません。 – jabley