#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