Оформить заказ за коммитом git submodule - PullRequest
7 голосов
/ 19 февраля 2010

Я работаю над проектом, в котором есть несколько подмодулей. Вчера все было замечательно, приложение работало и т. Д. После того, как сегодня утром я запустил git submodules update, в приложении появляется ошибка.

$ git submodule update
Submodule path 'vendor/plugins/pluginA': checked out '49d5cba84dcffc061db69813162d103feef31ecb'
Submodule path 'vendor/plugins/pluginB': checked out '4f442f0448c1826252933d5af8fb33cd64d76f6e'

Итак, как мне проверить предыдущую версию субмодулей, пока я жду, когда проблема будет решена? Я видел несколько ссылок на решения, не видя примера, в котором конкретно упоминается этот случай.

Спасибо!

Редактировать: бонус, если вы также можете помочь мне понять / исправить это (как заставить pluginA и pluginB снова ссылаться на головы / мастера):

$ git submodule status
49d5cba84dcffc061db69813162d103feef31ecb vendor/plugins/pluginA (49d5cba)
4f442f0448c1826252933d5af8fb33cd64d76f6e vendor/plugins/pluginB (4f442f0)
558fd1a762d63562689e58cac50283192fde74d5 vendor/plugins/pluginC (heads/master)
4feb2c51148ebc4d4f80f9a64b9eabbfde5b13a3 vendor/plugins/pluginD (heads/master)
19dce61e256b0fc3f05342cdd3e4d21a434c0b87 vendor/plugins/pluginE (heads/master)

Ответы [ 2 ]

2 голосов
/ 20 февраля 2010
$ git submodule update
Submodule path 'vendor/plugins/pluginA': checked out '49d5cba84dcffc061db69813162d103feef31ecb'
Submodule path 'vendor/plugins/pluginB': checked out '4f442f0448c1826252933d5af8fb33cd64d76f6e'

означает, что вы выполнили git pull, извлекли и слили файлы и подмодули в ваш проект.
SHA1 этих подмодулей в вышестоящем проекте (тот, который вы использовали) изменились.

Вы можете изменить их обратно (git checkout aref в пределах projectA, затем cd .. и git add -A; git commit -m "advance submodule to aref") и переместить (или нет) эти подмодули ref обратно в восходящий поток, если хотите.

Если вам необходимо узнать, какой именно SHA1 был вашим подмодулем до обновления подмодуль , просто выполните git show previousProjectSHA1 (previousProjectSHA1 - предыдущий SHA1 до обновления вашего основного проекта

Вы увидите что-то вроде:

new file mode 160000
index 0000000..4c4c5a2

То есть (4c4c5a2) является подмодулем SHA1, который необходим вам для восстановления их предыдущего состояния.

См. git submodule update ТАК вопрос, чтобы узнать больше о природе подмодулей.

0 голосов
/ 20 февраля 2010

То же самое для первого случая, вы заходите в подмодуль dir и проверяете, какая версия вам нравится с git checkout <ref>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...