Как обновить подмодуль в git до коммита HEAD в этом внешнем репо - PullRequest
4 голосов
/ 17 февраля 2010

У меня были проблемы с поиском ответа на этот вопрос, поэтому я публикую его для потомков.

Ситуация такова, что у вас есть git-репо с подмодулем (похожим на svn external). Вы хотите обновить эту ссылку, чтобы она указывала на другую фиксацию во внешнем репозитории. Вы можете подумать, что 'git submodule sync' или 'git submodule update' сделают это - вы ошибаетесь.

Ответы [ 2 ]

4 голосов
/ 17 февраля 2010

Шаги:

  • перейдите к фактическому каталогу, в котором находится подмодуль.
  • запустите 'git pull origin' или все, что вы хотите сделать, чтобы установить для него новый коммит.
  • cd из этого каталога (предположительно в корень хранилища) и запустите «git status» - вы увидите, что каталог изменился. Если вы сделаете различие, вы увидите что-то вроде этого:
diff --git a/default/bin/hdvcs b/default/bin/hdvcs
index bbd3f56..7c9394c 160000
--- a/default/bin/hdvcs
+++ b/default/bin/hdvcs
@@ -1 +1 @@
-Subproject commit bbd3f56898054e533e81b52b90b94155841b40a8
+Subproject commit 7c9394c8520e41a704e6658360064758b20a3dfc
  • зафиксируйте это изменение.
1 голос
/ 05 января 2011

Если вы хотите обновить все ваши подмодули git до HEAD удаленного репо, просто наберите

субмодуль git foreach мастер происхождения git pull

...