私は次のような構造を持つgitリポジトリを持っている:Gitのブランチ
repo - /folder1
- /folder2
...
このレポは2つのブランチがあります。
repo ┌--------- master
|
└--------- branch1
私はこれにサブモジュールとして支社追加しますレポ、私は次のような構造があるように:
repo - /folder1 - /branch1 (submodule)
- /folder2
...
を、私はブラジャーを追跡サブモジュールを追加することが可能です知っていますNCHだけではなく、特定のコミットが、私は、私は結果をコミットすることはできません独自のサブモジュールとしてレポを追加しようとしたとき、私は次のエラーを取得する:gitの-、fsckを実行
fatal: git cat-file :0:folder1/branch1: bad file
Unable to checkout folder1/branch1
はダングリングの大きなリストを返します。斑点。
私の知る限り、これをやろうとしている誰も見つかりませんでした。私はまた、これは不可能であると書かれている文書には何も見つかりませんでした。
git内部の知識が豊富な人は、なぜこれが不可能であるか、動作していないのか説明できますか?
オーケー、ありがとうございました。なぜこれがうまくいかないのか説明してもらえますか?同じレポに重複したオブジェクトがあるためですか? –
'git submodule add folder1/branch1'と' cd folder1/branch1'を使うと 'git branch -a'ですべてのブランチがサブモジュールに追加されています。現在のブランチがmain repoのブランチ1であれば、 'cd folder1/branch1'を使った後、' git checkout master'を使い 'cd ..'と' cd..'を使うことができます。メインリポジトリの現在のブランチがまだbranch1であることがわかります。サブモジュールのレポをマスターブランチに切り替えるだけです。 –
しかし、実際には、それ自身のレポのためにサブモジュールまたはサブツリーを追加する必要はありません。主にサブモジュールとサブツリーを使用して、現在のレポに別のレポを追加します。したがって、すべてのものが1つのレポにしかないので、必要に応じてレポの構造を直接整理することもできます。 –