1

submodule_A を master に配置し、submodule_B を new_branch に配置したいと考えています。

しかし、マスターでは、レポに submodule_A と submodule_B の両方が表示されます。

右の分岐で 2 つのサブモジュールを分離する方法は?

返信ありがとう!!!

注:以前は次のコマンドを使用していました。

git submodule add -b new_branch submodule_B;

しかし、submodule_B は master ブランチにまだ存在しています。

マスターをチェックアウトすると、git が表示されます

warning: unable to rmdir submodule_B

new_branch をチェックアウトすると、git が表示されます

warning: unable to rmdir submodule_A

==============================================

例えば

https://github.com/ShawnHuang/.vim/tree/master/bundle

すべてのプラグインは、私のレポのサブモジュールです。

ブランチ マスターでは、ultisnips を使用したいと考えています。

そして、ブランチジャンク/スニップメイトでは、スニップメイトを使いたいです。

github の異なるブランチで 2 つのサブモジュールを分離できます。

でも地方では無理です。

4

2 に答える 2

1

Git は未使用のサブモジュールの作業コピーを削除しません

2 つの異なるサブモジュールを持つ 2 つのブランチを作成する場合:

$ git init
$ git checkout -b one
$ git submodule add git@github.com/a/repo.git one
$ git checkout -b two
$ git submodule add git@github.com/another/repo.git two

現在のブランチの一部でない場合、それらは単に追跡されていないファイルとして扱われます。つまり、ブランチを切り替えるときに参照されていないサブモジュールを自分で削除しない限り、それらはすべてのブランチに存在します。

$ git checkout master
$ ls
one two
$ git checkout one
$ ls
one two
$ git checkout two
$ ls  
one two

あなたが求めることをするための簡単な方法は、関連がないときはいつでもサブモジュールフォルダーを移動することです:

$ git checkout one
$ mv two .two
$ git checkout two
$ mv .two two
$ mv one .one
于 2013-07-29T15:10:12.240 に答える