Как я могу Resync вилка из оригинала

11961
bAN

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

Спасибо

33
Я пишу простую инструкцию. проверить здесь: http://webapps.stackexchange.com/a/58140/63016 Youngjae 10 лет назад 0
Теперь есть официальный документ, который хорошо сделан: https://help.github.com/articles/syncing-a-fork Andre Miras 10 лет назад 1

2 ответа на вопрос

36
Mechanical snail

By design, forking a project creates a separate repo that is not updated when the original repo changes. However, git makes it pretty easy to update manually.

You need the help of a 3rd repository (your local copy suffices). There are 3 repos:

  • "Upstream": The upstream project's repository on Github.
  • "Origin": Your fork's repository on Github
  • "Local": Your local repository on your computer. I will assume you created it by cloning Fork using git clone git@github.com:your-username/projectname.git, and that everyone is using branch master.

Assuming currently "Origin" and "Local" are in the same state, and "Upstream" is ahead by 1 or more commits (the merge and any subsequent changes).

First add the upstream project as a Git remote:

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

Then pull (meaning fetch and then merge automatically) the changes from the remote's master branch into your local repository's current (master) branch:

git pull upstream master 

Now your local repository is in sync with upstream. Finally, push your local repo to your Github fork:

git push origin master 

Now everything is in sync.

Большое спасибо .. это позор, что это не возможно сделать это в веб-интерфейсе .. bAN 11 лет назад 2
Это действительно возможно в веб-интерфейсе: http://webapps.stackexchange.com/a/31010/10390. thSoft 11 лет назад 1
YeeHaw! Я рвал на себе волосы, пытаясь найти эту явную информацию. Спасибо, что поделился! pepoluan 9 лет назад 0
... но, пожалуйста, взгляните также на комментарии к ответу, доказывающие, что Resync через Интернет - не лучший вариант, поскольку он загрязняет хранилище. usr-local-ΕΨΗΕΛΩΝ 9 лет назад 0
что вы делаете, когда после запроса выдается «уже в курсе», но это явно не так? (Есть файлы, которые я изменил все в одном подкаталоге, и у меня не должно быть никаких различий в любом другом файле, но я делаю) roberto tomás 9 лет назад 0
1
VonC

You need to add a remote (see GitHub help) and pull from that new remote.

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

Похожие вопросы