2011-06-27 4 views
0

私はいくつかのgitサブモジュールで構成されるgitリポジトリを持っています。私は作業リポジトリのサブモジュールを更新する場合は、それが関与する:なぜGitサブモジュールのフォルダは、元の場所からpullした後にコミットする必要がありますか?

  1. CD
  2. gitのプル原点マスター
  3. CD ..
  4. のgit最新に
  5. gitの-mコミット「更新サブモジュールを追加しますHEAD "

サブモジュールの更新をプルすると、" git status "にサブモジュールのフォルダの変更された状態が表示されます。したがって、git addとcommitを実行して、変更されたステータスを消滅させることは有効です。

上記のようにローカルワーキングリポジトリのサブモジュールフォルダをコミットする必要があるのはなぜですか?

コミット後に変更を原点にプッシュしますか?

私たちが変更をプッシュすると、他の人が "git add"と "git commit"を再度必要とすると想像してください。これは周りの無限ループのようです。

答えて

2

あなたがサブモジュールを更新する場合は、あなたが(hereを説明したように)「gitのプル原点マスター」の後に「gitのサブモジュールのアップデート」を呼び出す必要があり

その後リポジトリは汚れた状態で、それ以上ではありません。

0

ローカルリポジトリに変更が加えられた可能性があります。あなたがpulledのとき、おそらくあなたが持っていた変更とマージしました。次に、関連性がある場合は、変更を元に戻すことが理にかなっています。

クリーンなリポジトリがある場合は、このようなことは起こりません。

関連する問題