Как работает разветвление git?

#git #github

#мерзавец #github #git

Вопрос:

Итак, я подписан на github и создаю проект. Будет ли мой разветвленный репозиторий обновляться каждый раз, когда обновляется исходный репозиторий? Или я должен каждый раз выполнять разветвление из исходного репозитория, чтобы не пропустить никаких новых изменений, внесенных в исходный репозиторий?

Ответ №1:

Разветвление — это копия репозитория. Разветвление репозитория позволяет вам свободно экспериментировать с изменениями, не затрагивая исходный проект.

Нет, ваш форк не будет обновляться автоматически каждый раз, и вы не можете разветвлять репозиторий более одного раза. Если вы хотите, вам придется удалить предыдущую ветку и перефорковать репозиторий.

Чтобы обновить свой форк до исходного, вы можете выполнить следующие действия:

сначала добавьте исходное репозиторий в качестве удаленного восходящего потока в ваш локальный разветвленный репозиторий:

 git remote add upstream [upstream.git]
  

Теперь вы можете легко синхронизировать свой разветвленный (исходный) репозиторий с вышестоящим, выполнив

 git checkout master # Make sure you always run the following commands from the master branch
git fetch --all
git pull --rebase upstream master
git push origin master
  

Это приведет rebase к изменениям в вашей локальной разветвленной версии master , поэтому история ветки git в конце будет выглядеть точно так же.

для извлечения из исходного репозитория используйте:

 git pull upstream master  # you will get the original repo's update
  

и извлекать из разветвленного:

 git pull origin master
  

Ответ №2:

Будет ли мой разветвленный репозиторий обновляться каждый раз, когда обновляется исходный репозиторий

Нет. Время от времени извлекать данные из исходного репозитория полностью зависит от вас. Вы можете легко сделать это в своем локальном репозитории (по соглашению, вызывается исходный удаленный upstream сервер, пока вызывается удаленный сервер fork origin ).

Комментарии:

1. Подумайте о том, чтобы ознакомиться с документами, которые содержат полные инструкции: docs.github.com/en/free-pro-team@latest/github /… и docs.github.com/en/free-pro-team@latest/github /…

Ответ №3:

Если вы хотите получить обновления из исходной версии и объединить их со своей версией, вы можете использовать команду git pull . Более подробная информация об этом здесь: https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/github-glossary#pull

Если вы решите разветвить репозиторий, он копирует этот репозиторий в ваш профиль. По сути, это то же самое, что и клонирование, но с помощью fork поддерживается связь между вашей «разветвленной» версией и исходной версией (для запросов на извлечение).

Это очень быстрое и простое описание. Здесь есть больше информации: https://github.community/t/the-difference-between-forking-and-cloning-a-repository/10189