いくつかのサブモジュールを参照するgitスーパープロジェクトがあり、残りのプロジェクトメンバーがその中で作業できるようにワークフローをロックダウンしようとしています。
この質問では、私のスーパープロジェクトが呼び出されsupery
、サブモジュールが呼び出されたとしsubby
ます。(これは、私がやろうとしていることを単純化したものです...実際にはバージョンのブランチを使用していませんが、質問としてレイアウトするのが最も簡単だと思いました。)
のマスターブランチには、サブモジュールとして参照されるgitプロジェクトsupery
のタグがあります。のブランチは、のタグを指すようにサブモジュールの参照を呼び出して変更しました。v1.0
subby
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
または、サブモジュールを無視するオリジナルで使用できるパラメーターはありますか?