Это следует понимать в контексте форков GitHub (где вы создаете репозиторий GitHub на GitHub перед локальным клонированием этого форка).
upstream
обычно относится к первоначальному репо, который вы разветвили
(см. также « Определение« downstream
»и« upstream
»», чтобы узнать больше о upstream
term)
origin
- ваш форк: ваше собственное репо на GitHub, клон оригинального репо GitHub
Со страницы GitHub:
Когда репо клонируется, у него есть пульт по умолчанию origin
, который указывает на ваш форк на GitHub, а не на исходное репо, из которого он был разветвлен.
Чтобы отслеживать исходное репо, вам нужно добавить еще один пульт с именем upstream
git remote add upstream git://github.com/<aUser>/<aRepo.git>
(с aUser/aRepo
ссылкой на оригинального создателя и хранилище, которое вы разветвили)
Вы будете использовать upstream
до выборки из исходного репо (чтобы синхронизировать локальную копию с проектом, в который вы хотите внести свой вклад).
git fetch upstream
(по умолчанию git fetch
будет извлекать из origin
по умолчанию, а здесь это не то, что нужно)
Вы будете использовать от origin
до pull и push , так как вы можете внести свой вклад в свой собственный репозиторий.
git pull
git push
(опять же, без параметров, по умолчанию используется 'origin')
Вы внесете свой вклад в репо upstream
, сделав запрос на получение .