Checkout прошлое git фиксация подмодуля

Я работаю над проектом, где есть несколько подмодулей. Вчера все было персиковое, приложение запускалось и т.д. После того, как я сегодня утром пропустил 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)

Ответы

Ответ 1

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

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

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

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

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

new file mode 160000
index 0000000..4c4c5a2

Что (4c4c5a2) является подмодулем SHA1, вам необходимо восстановить их в прежнее состояние.

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

Ответ 2

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