Скажем, у меня суперпроект с N подмодулями. Что я создал после этого руководства: Git Submodule TutorialGit распределенный рабочий процесс с подмодулями
Итак, у меня есть общедоступные хранилища для всех вспомогательных модулей плюс публичное репо для суперпроекта, все это на удаленном хосте: machine1/path/to/public/repos.git
. Они я буду называть своими публичными репозиториями.
Теперь пользователь X клонирует суперпроект из моего публичного репо и тянет все к его частному репо. Все ссылки в его местных .git/config
и .gitmodules
указывают на мои публичные репозитории.
Я хочу, чтобы пользователь X иметь свой собственный публичный репозиторий, поэтому мы можем использовать распределенный рабочий процесс, описанный здесь: Git Distributed Workflows
Этого пути пользователь X и я могу нажать наши локальные изменения в нашу публичной сделках РЕПО, а затем извлекать изменения публичные репозитории друг друга. Я хочу избежать того, чтобы мы оба вынуждены были перейти к тем же публичным репозиториям.
С .gitmodules
в локальном репо X в моем публичном репозитории X необходимо изменить ulr, чтобы они указывали на его публичные репозитории. Пожалуйста, имейте в виду, что .gitmodules заработали, поэтому мы столкнулись с конфликтом, если X совершает ошибку & публикует .gitmodules
после изменения его ссылки на его публичные репозитории, а затем я вывожу изменения из своего публичного репо (мой местный .gitmodules
будет ссылаться на его публикацию repos вместо моего, который не является желаемым результатом).
Так что вы думаете, будут лучшей альтернативой:
- Удалить
.gitmodules
из дерева репозитория и добавить его в.gitignore
поэтому не гусеничных больше. - Хранить
.gitmodules
нестационарный. Я не знаю, почему, но это кажется мне плохой идеей. - Использование
git --update-index assume-unchanged .gitmodules
Любой из этих вариантов имеет тот недостаток, что .gitmodules
бы стер, если один работает git clean
или отбросить все неотслеживаемые файлы.
Как сохранить изменения в X .gitmodules
, чтобы постоянно ссылаться на его собственное публичное репо и не беспокоиться о том, чтобы случайно стереть конфигурацию или вытащить нежелательные изменения?
Прошу прощения, мне потребовалось столько времени, чтобы принять этот ответ в тот момент, когда я впервые прочитал его, я не понял его, теперь это кажется очевидным. –