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

С другой стороны, если я сделаю изменение в разветвленном репо, которое принесет пользу всем остальным репо, могу ли я сделать запрос на извлечение, чтобы "базовое" репо знало, что оно должно извлекать обновления?

Да, это был бы классический запрос на извлечение.

Другие вопросы по тегам