33

Я только что разработал проект в Github. Я внес изменения и отправил запрос на удаление. Хозяин слил мою вилку с основным проектом и после этого сделал некоторые модификации. Так что пока мой форк не обновляется с основным проектом. Я скучаю по модификациям, которые он сделал после слияния моего запроса на получение. Как я могу обновить мой форк главным проектом? Есть ли способ сделать это в веб-интерфейсе?

Спасибо

2 ответа2

36

По своему дизайну разветвление проекта создает отдельное хранилище, которое не обновляется при изменении исходного хранилища. Тем не менее, git позволяет довольно легко обновлять вручную.

Вам нужна помощь 3-го хранилища (достаточно локальной копии). Есть 3 репо:

  • "Upstream": репозиторий вышестоящего проекта на Github.
  • "Происхождение": хранилище вашей вилки на Github
  • "Local": ваш локальный репозиторий на вашем компьютере. Я предполагаю, что вы создали его путем клонирования Fork с использованием git clone git@github.com:your-username/projectname.git , и что все используют master веток.

Предполагая, что в настоящее время "Origin" и "Local" находятся в одном и том же состоянии, а "Upstream" опережает 1 или более коммитов (слияние и любые последующие изменения).

Сначала добавьте вышестоящий проект как удаленный Git:

git remote add upstream https://github.com/upstream-username/projectname.git

Затем потяните (то есть выборки , а затем объединить автоматически) изменения от master ветви пульта дистанционного управления в текущей master ветви вашего локального хранилища:

git pull upstream master

Теперь ваш локальный репозиторий синхронизирован с upstream . Наконец, поместите локальное репо на свою вилку Github:

git push origin master

Теперь все синхронизировано.

1

Вам нужно добавить пульт (см. Справку GitHub) и извлечь его из этого нового пульта.

git remote add mainProject https://github.com/user/mainProject
git pull mainProject master

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .