Создать сообщение о фиксации из коммитов в subrepo

#git

#git

Вопрос:

Вопрос: Есть ли простой способ автоматически извлекать сообщения о фиксации из subrepo / submodule в git и создавать из них сообщение о фиксации в репозитории, содержащем subrepo. Я понимаю, что есть способ с помощью какой-то магии командной строки, вопрос в том, есть ли какая-то функциональность git для этого.

Контекст:

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

Project A является основным проектом. В структуре папок Project A , есть еще один проект, Project B . Project B сам по себе является репозиторием git, который используется в качестве subrepo (или подмодуля) в Project A . Я работаю Project B , и на меня ложится задача поднять (обновить) subrepo Project A .

Я делаю это через

 cd /ProjectA/ProjectB
git pull
cd ../
git add .
git commit -m "Update Project B: <List of all changes since latest bump>"
git push
  

Если с момента последнего удара было много коммитов, запись <List of all changes since latest bump> становится очень утомительной.

Интересно, есть ли способ автоматически извлекать сообщения о фиксации Project B и создавать из них сообщение о фиксации.

Решением мечты было бы просто написать git commit --extractMessageFromSubrepo или что-то подобное. Я понимаю, что есть способ с помощью какой-то магии командной строки, вопрос в том, есть ли какая-то функциональность git для этого.

Ответ №1:

git diff --submodule git commit :

 git diff --submodule | git commit -F-
  

-F- означает «чтение из файла - «, а файл - означает стандартный ввод, канал в данном случае.

Комментарии:

1. Это именно то, что я искал. Спасибо, настоящая экономия жизни! Решение настолько простое, что я чувствую себя глупо.