$ cd github-services
$ git remote add upstream git://github.com/pjhyett/github-services.git
$ git fetch upstream
# then: (like "git pull" which is fetch + merge)
$ git merge upstream/master master
# or, better, replay your local work on top of the fetched branch
# like a "git pull --rebase"
$ git rebase upstream/master
5 回答
如果您使用的是GitHub桌面应用程序,则右上角会有一个同步按钮 . 点击它,然后在左上角附近
Update from <original repo>
.如果没有要同步的更改,则此操作将处于非活动状态 .
这里有some screenshots让这很容易 .
除了VonC的答案,你可以根据自己的喜好进一步调整它 .
从远程分支获取后,您仍然需要合并提交 . 我会替换
同
因为git pull本质上是git fetch git merge .
您必须将原始存储库(您分叉的存储库)添加为远程存储库 .
来自GitHub fork man page:
你还有ruby gem which can facilitate those GitHub operations .
另见“Git fork is git clone?” .
使用:
这会将您的上游设置为您分叉的存储库 . 然后这样做:
这将从原始存储库中获取包括master在内的所有分支 .
在本地主分支中合并此数据:
将更改推送到分叉存储库,即到源:
瞧!您已完成同步原始存储库 .
这video显示how to update a fork directly from GitHub
脚步:
在GitHub上打开你的叉子 .
点击
Pull Requests
.点击
New Pull Request
. 默认情况下,GitHub会将原始文件与您的fork进行比较,如果您没有进行任何更改,则不应该进行任何比较 .点击
switching the base
. 现在GitHub会将你的分叉与原始分析进行比较,你应该看到所有最新的变化 .单击
Create a pull request
进行此比较,并为拉取请求指定可预测的名称(例如,从原始更新) .点击
Create pull request
.向下滚动并单击
Merge pull request
,最后Confirm
合并 . 如果您的fork没有任何更改,您将能够自动合并它 .