Sync Branch и оставаться в курсе проекта с использованием GitHub для Windows

Что мне нужно сделать в приложении GitHub для Windows, чтобы быть в курсе изменений, внесенных в проект или репозиторий, размещенный на GitHub?

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

Когда я клонирую на рабочем столе, используя графический интерфейс GitHub для Windows, один из параметров, которые у меня есть, это "Sync Branch", который определяется как "совместное использование локальных коммитов на сервере и выведение изменений из других". С кем я разделяю свои локальные обязательства? Это источник происхождения? И, чьи изменения я "спускаю"?

Похоже, что опция "sync branch" в GUI будет делать то же (независимо от того, хочу я или нет).

Ответ 1

Вы можете разблокировать репо (даже если вы не намерены вкладывать обратно), если только сохранить четкую связь с исходным репозиторией вверх.

Оттуда вы можете:

  • клонировать вашу вилку локально
  • добавьте удаленное обращение к исходному репо

    git remote add upstream https://github.com/User/repo
    
  • установите ветвь восходящего потока на удаленный "восходящий поток".
    Таким образом, простой git pull будет всегда тянуть из исходного репо (upstream один)

    git checkout master
    git branch -u upstream/master
    
  • установите push.default в matching.
    Таким образом, git push origin будет подталкивать все ваши локальные ветки (обновленные от восходящего потока) к вашей вилке.

    git config push.default matching
    

Идея этих настроек: потянуть вверх, а нажатие на начало, что означает отслеживать новые изменения: вы записываете в свою вилку последний SHA1, который вы вытащил вверх по течению.

Таким образом, вы можете с любой рабочей станции:

  • pull из origin (чтобы обновить локальный клон до последнего SHA1, который вы запомнили в своей вилке),
  • и pull из upstream, чтобы проверить/увидеть любые новые коммиты из указанного исходного репо.