私たちのgitのプロセスは、私たちのmasterブランチに定期的にマージされるので、変更を最新の機能ブランチにマージすることができます。あるブランチから別のブランチへの最新のマージの段階から、解決策が明確ではない問題にぶち当たっています。なぜマージベースエラーに従ってコミットしないのですか?
私たちは19個のサブモジュールを持つリポジトリを持っています。すべてのサブモジュールをマージすると、ファイルが変更されたり、競合が発生したりすることが予想されます。ルートリポジトリをマージすると、すべてが南になり、 (問題のみを指摘するように編集されています)。
warning: Failed to merge submodule projects/foo1 (commits don't follow merge-base)
warning: Failed to merge submodule projects/foo2 (commits don't follow merge-base)
warning: Failed to merge submodule projects/foo3 (not fast-forward)
Found a possible merge resolution for the submodule:
931a61165f3b2079523a122477fa5f44c123406d: Comment of last merge
If this is correct simply add it to the index for example by using:
git update-index --cacheinfo 160000 931a61165f3b2079523a122477fa5f44c123406d "projects/foo3"
which will accept this suggestion.
ここで、提案されたgit update-index
コマンドを実行できます。そのサブモジュールではgitが幸せになるでしょうが、これまで実行する必要はありませんでした。ヘルプは表示されないfoo1とfoo2のサブモジュールを見ると、問題は本当に悪いです。
サブモジュールを変更するたびに、親リポジトリをコミットしてプッシュしましたか? – VonC
マージする前に、両方のツリーは完全に機能していますが、サブモジュール内のコミットに失敗しても問題ありません。それはあなたが意味することですか? – Peter
私は、サブモジュールを変更するときに、サブモジュールのSHA1が変更されているため、サブモジュールを変更するときにコミットしてプッシュし、次に親に行きコミットしてプッシュする必要があることを意味します。私はあなたがそれらのサブモジュールを修正したかどうか(もしそうなら、あなたがコミットプッシュシーケンスに従ったなら)親リポジトリをマージしようとする前に疑問に思っていました。 – VonC