Оновлення березня 2013 року
Git 1.8.2 додав можливість відстеження гілок.
" git submodule
" почав вивчати новий режим інтеграції з кінчиком віддаленої гілки (на відміну від інтеграції з фіксацією, записаною в gitlink суперпроекту).
# add submodule to track master branch
git submodule add -b master [URL to Git repo];
# update your submodule
git submodule update --remote
Якщо у вас подмодуль вже уявити вам зараз бажання буде відслідковувати гілку, побачити « як зробити існуючий подмодуль відстежувати гілка ».
Також дивіться підручник Vogella про підмодулі для отримання загальної інформації про підмодулі.
Примітка:
git submodule add -b . [URL to Git repo];
^^^
Переглянути git submodule
сторінку чоловіка :
Особливе значення .
використовується для вказівки на те, що ім'я гілки в підмодулі має бути таким самим іменем, що і поточна гілка в поточному сховищі .
Див. Комісію b928922727d6691a3bdc28160f93f25712c565f6 :
submodule add
: Якщо --branch
дано, запишіть його.gitmodules
Це дозволяє легко записати submodule.<name>.branch
варіант, .gitmodules
коли ви додаєте новий підмодуль. За допомогою цього пластиру
$ git submodule add -b <branch> <repository> [<path>]
$ git config -f .gitmodules submodule.<path>.branch <branch>
зводиться до
$ git submodule add -b <branch> <repository> [<path>]
Це означає, що майбутні заклики до
$ git submodule update --remote ...
отримуватимуть оновлення з тієї самої гілки, яку ви використовували для ініціалізації підмодуля, що зазвичай є тим, що ви хочете.
Підписаний: У. Тревор Кінг
Оригінальна відповідь (лютий 2012 р.):
Підмодуль - це єдиний комітет, на який посилається батьківський репо.
Оскільки це власне репортаж Git, "історія всіх комісій" доступна в git log
межах цього підмодуля.
Таким чином, щоб батько автоматично відстежував останнє фіксування даної гілки підмодулю, необхідно:
- CD в підмодулі
- git fetch / pull, щоб переконатися, що в ньому є останні повідомлення на правій гілці
- CD в батьківському репо
- додайте та введіть, щоб записати нове фіксування підмодуля.
gitslave (який ви вже подивилися), здається, найкраще підходить, в тому числі і для операції фіксації .
Вносити зміни в підмодуль трохи неприємно через вимогу перевірити правильну гілку підмодуля, внести зміни, зробити фіксацію, а потім перейти в суперпроект і здійснити фіксацію (або принаймні записати нове місце підмодуль).
Інші альтернативи тут детально описані .