Вы не всегда можете создать ветку или вытянуть существующую ветку и вернуться к ней, потому что вы не зарегистрированы как соавтор для этого конкретного проекта.
Форкинг - это не что иное, как клон на стороне сервера GitHub :
- без возможности прямого отталкивания
- с очередью вилки добавлена функция управления запросом слияния
Вы поддерживаете синхронизацию с оригинальным проектом:
- добавление исходного проекта в качестве удаленного
- регулярно выбирая из этого оригинального проекта
- Перебазируйте вашу текущую разработку поверх интересующей вас ветки, которую вы обновили из этой выборки.
Перебазировка позволяет вам убедиться, что ваши изменения просты (нет конфликта слияния, чтобы обрабатывать), что делает ваш запрос на извлечение более простым, если вы хотите, чтобы сопровождающий исходного проекта включил ваши патчи в свой проект.
Цель состоит в том, чтобы действительно позволить сотрудничество, хотя прямое участие не всегда возможно.
Тот факт, что вы клонируете на стороне GitHub, означает, что у вас теперь есть два «центральных» хранилища («центральное» как «видимое от нескольких соавторов).
Если вы можете добавить их непосредственно как соавтор для одного проекта, вам не нужно управлять другим один с вилкой.
Опыт слияния будет примерно таким же, но с дополнительным уровнем косвенности (сначала нажмите на развилку, затем попросите вытянуть, с риском эволюции на исходном репо, из-за чего ваши слияния с ускоренной перемоткой больше не будут перемотать вперед) ,
Это означает, что правильным рабочим процессом является git pull --rebase upstream
(перебазировать вашу работу поверх новых коммитов из апстрима), а затем git push --force origin
, чтобы переписать историю таким образом, чтобы ваши собственные коммиты всегда были поверх коммитов из исходного (восходящего) репо ,
Смотрите также: