Git リポジトリにディレクトリ A があります。ブランチでは、A の下にディレクトリ B を作成しました。ディレクトリ B に新しい Git リポジトリを作成/初期化する方法はありますか? そのディレクトリをコピーし、すべての .git データを消去し、新しくコピーしたディレクトリで git init を実行するとうまくいくでしょうか?
質問する
61 次
2 に答える
1
git リポジトリを分割して、git filter-branch を使用して独自のリポジトリにサブディレクトリを作成できることに注意してください。
「リポジトリを小さなアトミック リポジトリに分割するにはどうすればよいですか?」
(および「サブディレクトリを別の Git リポジトリにデタッチする」:
プロジェクトのルートであるかのように見えるようにリポジトリを書き換え、
foodir/
他のすべての履歴を破棄するには:
git filter-branch --subdirectory-filter foodir -- --all
これにより、履歴を保持できますが、元のリポジトリの 1 つが書き換えられます (つまり、他の貢献者は自分のクローンを新しい履歴にリセットする必要があります)。
完了したら、サブディレクトリがあった場所にその新しいレポを複製できます。ネストされたレポは、親レポによって無視されます。または、そのサブレポをsubmodule
として含めることができます。
于 2013-05-24T06:22:55.363 に答える
1
おそらくですが、すべてのファイル履歴が失われます。これは優れたアプローチではありません。リポジトリ全体を新しいフォルダーに複製してから、使用したくないファイルを破棄することをお勧めしgit rm
ます。
于 2013-05-23T23:49:11.727 に答える