从原始仓库更新Github分支

6

我发现了一些更新github上原始repo的方法(假设“jay”是原始repo的所有者):

git remote add --track master jay git://github.com/jay/repo_name.git
git fetch jay
git merge jay/master

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

那么问题出在哪里呢?

更新:好吧,看起来我撒谎了。差异只有几行代码,但是作者却拉取了大量提交。也许只影响了 8 个文件,这就是我认为有 8 个提交的原因。

2个回答

3

没问题。GitHub 的设计选择是所有更改都通过您的本地机器进行,因此您需要获取上游远程提交,然后将它们推回到您自己的存储库中,该存储库位于您自己的来源远程上,该远程只是在同一台服务器上(但存储库不同),但 git 不知道这一点。

虽然 GitHub 可以直接传输(假设快进”合并“),但会存在安全风险(谁控制和是否完全验证),理解风险(我的远程引用与远程服务器不匹配,当我刚刚更新时,并未发出任何命令风格的副作用),以及无数其他风险。

有一个GitHub博客/帮助页面说明了如何更新 fork 存储库。


1
如果我们不必等待带宽上传已经在Github服务器上的对象,那就太好了。如果我登录我的Github账户并从我的分支页面启动更新,似乎可以安全地实现。 - Vincent Scheib

0

我一直在努力解决这个问题...

今天我测试了一个服务,它可以自动更新您从https://forkrefresh.herokuapp.com/或自托管(github)的上游父分支派生出来的所有分支。


1
这是一个有效和建设性的评论,但它并没有回答关于原帖中方法有什么问题的问题。 - Antoine Gallix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接