いくつかのサブモジュールを参照するgitスーパープロジェクトがあり、私のプロジェクトメンバーの残りが内部で作業できるようにワークフローをロックしようとしています。
この質問について、私のスーパープロジェクトが呼び出さsupery
れ、サブモジュールがと呼ばれるとしましょうsubby
。(それから私がやろうとしていることの簡略化です...実際にはバージョンにブランチを使用していませんが、質問としてレイアウトするのが最も簡単だと思いました。)
私のマスターブランチにsupery
は、サブv1.0
プロジェクトsubby
として参照されるgitプロジェクトのタグがあります。枝supery
と呼ばれone.one
、タグにポイントにサブモジュールの参照を変更v1.1
しますsubby
。
これらの各ブランチ内で問題なく作業できone.one
ますが、master
ブランチからの変更でブランチを更新しようとすると、いくつかの競合が発生し、それらを解決する方法がありません。
基本的にブランチでgit pull . master
しばらく実行した後、subby
追加のサブモジュールを作成するように見えます。
プル/マージの前に、ブランチgit submodule
から必要な応答を取得しますone.one
。
$ git checkout master
$ git submodule
qw3rty...321e subby (v1.0)
$ git checkout one.one
$ git submodule
asdfgh...456d subby (v1.1)
しかし、プルの後、実行すると追加のサブモジュールが追加されますgit submodule
:
$ git pull . master
Auto-merged schema
CONFLICT (submodule): Merge conflict in subby - needs qu3rty...321e
Automatic merge failed; fix conflicts and then commit the results.
$ git submodule
qw3rty...321e subby (v1.0)
asdfgh...456d subby (v1.1)
zxcvbn...7890 subby (v1.1~1)
不要なサブモジュール参照を削除/無視して、競合や変更をコミットするにはどうすればよいですか?またはgit pull
、私のサブモジュールを無視するオリジナルで使用できるパラメーターはありますか?