#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. Это именно то, что я искал. Спасибо, настоящая экономия жизни! Решение настолько простое, что я чувствую себя глупо.