Найти все подмодули в git и их коммиты - PullRequest
0 голосов
/ 15 октября 2018

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

Поскольку я не отвечаю за все подмодули, я не знаю, что там изменилось после обновления коммитаЯ смотрел на.По этой причине я хотел бы задокументировать текущее состояние.

Это означает, что я хотел бы знать все подмодули, которые я использую (явные и не явные).Для каждого подмодуля я хотел бы знать его тег и \ или коммит.

Я нашел:

git ls-files --stage

полезно, но показывает коммиты только из моего репозитория, а не внутри подмодулей.

Есть идеи?

1 Ответ

0 голосов
/ 15 октября 2018
git submodule foreach --recursive "git describe --tags HEAD --exact-match 2>/dev/null || git rev-parse HEAD"

Рекурсивно в каждом подмодуле запускайте команды git describe --tags HEAD --exact-match 2>/dev/null || git rev-parse HEAD

Сначала попытайтесь найти самый последний тег, который точно указывает на коммит заголовка каждого подмодуля.Если тег не найден, верните коммит.

...