Подмодули Git: указать конкретный SHA? - PullRequest
11 голосов
/ 11 января 2012

Я ссылаюсь на подмодуль git в своем проекте, и теперь мне нужно сослаться на определенный SHA в целевом репозитории git.

# .gitmodules
[submodule "vendor/plugins/ssl_requirement"]
  path = vendor/plugins/ssl_requirement
  url = git://github.com/retr0h/ssl_requirement.git

Мне нужен SHA bc96ad96407a72a60e0542cf3b0cecc6ff9e278e.

1 Ответ

31 голосов
/ 11 января 2012

Подмодули по определению всегда ссылаются на определенный SHA1 в подпроекте.Этот SHA1 не выражается в файле .gitmodules, а вместо этого выражается как запись в объекте дерева, который содержит подмодуль.Чтобы установить это в git, нужно cd войти в подмодуль, проверить нужный SHA1, затем cd вернуться к родительскому репо и зафиксировать ваше изменение, которое будет отображаться как измененный файл.

Так что в вашем случае вы можете сделать

cd vendor/plugins/ssl_requirement
git checkout bc96ad96407a72a60e0542cf3b0cecc6ff9e278e
cd ..
git add ssl_requirement
# commit whenever you're ready
...