Git рабочая вилка с обновлениями

Интересно, возможен ли следующий сценарий с Git.

Я разветкил какой-то репозиторий.

Я хочу работать над своей собственной копией репозитория с получением обновлений из исходного репозитория.

Иногда я хочу освободить свой код и отправить запрос на перенос в исходный репозиторий.

Я не уверен, возможно ли это, если да, пожалуйста, коротко опишите, что мне делать.

Ответ 1

Возможно, но пара лучших практик будет включать:

  • сделайте свою модификацию в своей ветке (которую вы можете нажать на свою вилку)
  • обновление ветвей, общих с исходным репо, с git fetch upstream (восходящий поток - это имя удаленной ссылки на исходное репо, которое вы раздвоили)
  • перезагрузка вашей собственной ветки поверх обновленной исходной ветки:
    (См. " git fork is git clone?" )

    git checkout myBranch
    git rebase upstream/master
    
  • если вы делаете PR, попробуйте сделать его небольшим (с несколькими коммитами в нем), сосредоточьтесь на определенной функции, а не на большом, со многими коммитами и многими изменениями в ней.

Подробнее в разделе "пары советов по поисковым запросам.

Ответ 2

Вы можете сделать это, выполнив следующие шаги:

  • Работайте с клонированным разветвленным хранилищем (на вашем локальном компьютере). Обычно вы клонируете из своего клонированного репозитория, чтобы вы могли нажать на него.
  • Нажмите на это репо (origin будет разветвленным репозиторием, а ваша локальная ветвь будет отслеживаться master) - git push origin master
  • Загрузите запрос на возврат к репо, из которого вы раздвоены - следуйте эта ссылка

Подробнее о github documentation можно прочитать более подробно