在Github上同步Fork过来的Repository
在Github上fork别人的repo后,会在自己的空间内建立一个原repo的副本,如果原项目进行了更新,自己的repo是不会自动更新的。本文介绍将自己fork与原repo进行同步的方法。
首先要指定原repo为upstream。来到原项目的页面,复制其git链接,例如:
https://github.com/id/ProjectName.git
打开终端/命令行/Git Bash,cd到自己本地repo的目录下,使用:
git remote add upstream https://github.com/id/ProjectName.git
将原项目“https://github.com/id/ProjectName.git”作为自己repo的upstream。
然后依次fetch->checkout->rebase:
git fetch upstream git checkout master git rebase upstream/master
这里rebase会覆盖你的master分支,将upstream在你fork之后的更新同步到本地,并将upstream中没有的commit(比如你自己的没有提pull request的修改)放置在顶层。
最后push到Github上,由于使用了rebase,这里需要加上-f 来强制push:
git push -f origin master