从原始仓库更新github fork

Mis*_*ope 6 git merge github

我找到了一些方法来从github上的原始repo更新fork(让我们说"jay"是原始repo的所有者的名字):

git remote add --track master jay git://github.com/jay/repo_name.git
git fetch jay
git merge jay/master
Run Code Online (Sandbox Code Playgroud)

好吧,它可以工作,但是在git pushgit发送大量数据之后我注意到我在github上的公共活动中做了大约500次提交,但实际上两个主分支之间的差异大约是8次提交.

那有什么不对?

更新:好吧,看起来我撒了谎.差异是几行代码,然而,作者以某种方式提取了大量的提交.也许它只影响了8个文件,这就是我认为8次提交的原因.

Phi*_*ley 3

没有什么问题。GitHub 的设计选择是,所有更改都通过本地计算机进行,因此您可以获取上游远程的提交,然后将它们推送回您自己的原始远程上的存储库,该存储库恰好位于同一台服务器上(但不同的存储库),但 git 不“知道”这一点。

虽然 GitHub 可以进行直接传输(假设快进“合并”),但它会存在安全风险(谁拥有控制权,是否经过充分验证)、误解风险(我的远程引用与远程服务器不匹配)我刚才是最新的,没有发出任何命令风格的副作用),毫无疑问还有许多其他人。

有一个 GitHub 博客/帮助页面说明了更新 fork 的方式。