6

我找到了一些从 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

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

那么有什么问题呢?

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

4

2 回答 2

3

没有错。这是 GitHub 的一个设计选择,所有更改都通过您的本地计算机进行,因此您获取上游远程的提交,然后将它们推送回您自己的源远程上的自己的仓库,而这恰好位于同一台服务器上(但不同的仓库),但 git 并不“知道”这一点。

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

某处有一个 GitHub 博客/帮助页面,说明这是更新 fork 的方式。

于 2013-01-01T23:01:41.513 回答
0

我一直在尝试解决这个问题...

今天我测试了一项服务,该服务可以自动更新来自其上游父级的所有分支https://forkrefresh.herokuapp.com/或 selfhosted ( github )

于 2020-03-25T14:24:33.390 回答