Автоматическая фиксация хеша субмодуля git в супер-проекте - PullRequest
6 голосов
/ 06 января 2012

Когда вы фиксируете в подмодуле git, вам нужно подняться в суперпроект для выполнения второго коммита, который является новым хешем подмодуля.

Это невероятно раздражает, легко забыть и может вызвать всевозможные проблемы, если вы этого не сделаете.

Что я хочу сделать, это:

  1. Зафиксируйте изменения в моем подмодуле
  2. Хешировать автоматически в суперпроекте
  3. И субмодуль, и суперпроект переведены в их удаленное начало ('git push')

Как лучше всего выяснить, находитесь ли вы в подмодуле, где находится супер-проект и т. Д., И автоматизировать это?

Может быть, какой-то хук после коммита в подмодуле?

1 Ответ

5 голосов
/ 06 января 2012

Вы пробовали git-slave ? Это именно то, для чего он предназначен.

Вы также можете написать это самостоятельно. Помните, что есть две опции в самой команде git, которые могут помочь: --work-tree и --git-dir Используя их, вы можете действовать в любом репо, не выходя из текущего каталога.

Тогда есть также git submodule foreach --recursive git push.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...