Короткая версия
# Display url remote
$ git remote -v
# Add remote
$ git remote add upstream https://github.com/ <URLRepoOrigin>
## - Where upstream is the name of the remote
# Bring changes from the main fork
$ git pull upstream master
## - Where master is the name of the branch from where we want to bring the changes from the Origin Repository and the name of the remote is upstream
# Upload them to our fork
$ git push origin master
## - Where master is the name of the branch to which we want to upload the changes of our Fork Repository and the name of the remote is origin
Расширенная версия
Поддерживайте синхронизацию вилки с upstream
в git
Предположим, что мы имеемсоздал ветвь проекта в [GitHub] (https://github.com/) ( с именем https://github.com/MyRepoFork/app.git
), и мы хотим, чтобы он обновлялся последними коммитами из оригинала (с именем https://github.com/MyRepoOrigin/app.git
) и обычно называется upstream .
Процесс клонирования репозитория Forkeado
Далее мы будем исходить из нашего клонированного и подделанногорепозиторий.
Зная, что из локальной рабочей копии вы можете соединить и синхронизировать ( дорожка ) с одним или несколькими удаленные репозитории , помните, что когда клонирует репозиторий , по умолчанию он подключается к репозиторию, из которого он был клонирован ( в нашем случае forkeado ):
$ git remote -v
origin https://github.com/MyRepoFork/app.git (fetch)
origin https://github.com/MyRepoFork/app.git (push)
Каждый remote repository
имеет ассоциированное имя . Исходный репозиторий , из которого была клонирована рабочая копия , по умолчанию называется origin
.
Клонировав из нашего репозитория, мы можем сделать коммиты на вилке .
Обновите MyRepoFork
с MyRepoOrigin
Добавление remote
Теперь, чтобы можно было обновить изменения, внесенные вИсходный проект в нашем форке **, необходимо добавить удаленный репозиторий ** ( connect ) в нашей локальной рабочей копии (MyRepoFork) .
Для этого мы свяжем его с URL-адресом и именем, которое мы дадим нашему удаленному хранилищу, командой git remote
:
$ git remote add upstream https://github.com/MyRepoOrigin/app.git
Условно имя upstream
используется для именования репозитория, соответствующего проекту, который мы создали:
$ git remote -v
origin https://github.com/MyRepoFork/app.git (fetch)
origin https://github.com/MyRepoFork/app.git (push)
upstream https://github.com/MyRepoOrigin/app.git (fetch)
upstream https://github.com/MyRepoOrigin/app.git (push)
Таким образом origin
соответствует репозиторию, принадлежащему нашему форку (MyRepoFork
), иupstream
соответствует хранилищу, принадлежащему исходному проекту (MyRepoOrigin
).
Обновление выполняется pull
Наконец, чтобы принести последние обновления из upstream
и, таким образом, держать наш ветвь обновленным , запустить git pull
в репозитории upstream
и master
ветви( ветвь по умолчанию или укажите другую ветвь другой разработки ):
$ git pull upstream master
Переход к нашему репо
Тогда это возможно чтобы загрузить эти изменения на наш форк , выполнив push:
$ git push origin master
Дополнительная информация
Для получения дополнительной информации посетите следующие страницы руководства:
man git-clone
man git-remote
man git-pull
man git-commit
man git-push
Ссылки