Чем отличаются понятия "Обновиться из origin" и "Обновиться из upstream"?
Обновиться из апстрима — обновить свою локальную версию форка до последней версии основного репозитория, от которого сделан форк.
Обновиться из ориджина — обновить свою локальную версию репозитория до последней удалённой версии этого репозитория.
Я нашел эти определения, но не могу понять в чем их разница. В моём понимании термин "репозиторий" - означает каталог с файлами проекта который находится на сервере GitHub. В чем разница между понятиями "локальная версия форка" и "локальная версия репозитория" если и то и другое является копией "изначального репозитория"?
Чем отличается "последняя версия основного репозитория от которого сделан форк" от "последней удаленной версии этого репозитория"? Основной репозиторий и удаленная версия этого репозитория это не одно и тоже?
Почему Upstream подразумевает изначально созданный проект, а origin подразумевает мою скопированную копию основного проекта находящуюся на github, если само слово origin указывает на изначально созданный проект, по логике, но на его месте стоит слово upstream? это сбивает с толку.
Ответы (1 шт):
Для начала "репозиторий" понимается неправильно. git - это система с распределенным репозиториями. После выполнения fork на github и clone на своей машите будет целых три независимых репозитория. origin - обычно используется в репозитории на машине пользователя в качестве алиаса для того удаленного репозитория, из которого был клонирован этот и куда будут отправляться изменения. upstream - обычно используется в репозитории на машине пользователя в качестве алиаса для того удаленного репозитория, из которого был форкнут тот репозиторий, из которого клонировали этот. На практике удаленных репозиториев может быть куда больше двух, соответственно можно делать и неограниченное количество произвольных алиасов для них.
