Git forking и рабочий процесс pull-request
У меня есть репо реактивного проекта. Я хотел бы взять это репо в качестве "основы" нескольких других проектов и использовать его в качестве отправной точки. Я также хотел бы сохранить все остальные репо, которые вытекают из этого, в соответствии с тем, что происходит с "базой".
Я использую Bitbucket для удаленного репо-хостинга и Tower локально в качестве приятного графического интерфейса.
Правильный ли способ сделать это - форкнуть "базу" в Bitbucket, а затем клонировать ее локально? Будет ли локальное репо каким-либо образом уведомлено об обновлениях "базового" репо? Как бы я узнал, что было сделано значительное обязательство в отношении "базового" репо, которое принесло бы пользу любому из разветвленных репо?
С другой стороны, если я сделаю изменение в разветвленном репо, которое принесет пользу всем остальным репо, могу ли я сделать запрос на извлечение, чтобы "базовое" репо знало, что оно должно извлекать обновления?
Прошу прощения за любое невежество, в настоящее время я вообще не использовал разветвления или пулл-запросы и пытаюсь обдумать это:)
1 ответ
Будет ли локальное репо каким-либо образом уведомлено об обновлениях "базового" репо?
Нет: вам нужно будет добавить удаленный, именованный (обычно) апстрим, ссылающийся на исходный репозиторий
cd /path/to/local/clone/of/fork
git remote add upstream /url/original/repo
git checkout master
# detailed step:
git fetch upstream
git merge upstream/master
# or (shorter)
git pull upstream master
С другой стороны, если я сделаю изменение в разветвленном репо, которое принесет пользу всем остальным репо, могу ли я сделать запрос на извлечение, чтобы "базовое" репо знало, что оно должно извлекать обновления?
Да, это был бы классический запрос на извлечение.