让我们假设在GitHub上有一个存储库someone/foobar,我把它分叉到me/foobar。

我如何从父库直接将新提交拉到我的fork,而不需要添加一个单独的远程并记得定期从那里拉?

目标是:

Git从父存储库中获取 Git推送把所有东西都送到我的叉子上


当前回答

我会简单地使用:

git pull git@github.com:someone/foobar <branch_name> && git push

其他回答

我会简单地使用:

git pull git@github.com:someone/foobar <branch_name> && git push

另一种选择是使用GitHub for Mac(我假设GitHub for Windows)中的upstreamRepoName/master按钮的更新。

我使用了一个相当简单的方法,使用GitHub Web UI来做到这一点:

打开原始的Git存储库(不是派生的Git存储库me/foobar) 跳转到src文件夹,打开要更改的文件 点击钢笔图标。它会自动在你的个人fork中创建一个基于当前主库版本的名为“patch-1”的标签: 享受吧!

“拉”应用程序是一个自动设置和忘记解决方案。它会将fork的默认分支与上游存储库同步。

访问URL,点击绿色的“安装”按钮,选择你想要启用自动同步的存储库。

分支直接在GitHub上每小时更新一次,在你的本地机器上,你需要拉主分支以确保你的本地副本是同步的。

也在https://stackoverflow.com/a/58965171/946850回答。

打开分叉Git存储库me/foobar。

点击比较:

你会收到通知:

没有什么可以比较的。 某人:master是最新的所有提交从我:master。试着换一下基数进行比较。

点击切换本页的底座:

然后你可以看到所有提交给某人/foobar后,你分叉它的一天。

点击Create pull request:

给拉请求一个标题,或者一个描述,然后点击创建拉请求。

在下一页上,滚动到页面底部并单击“合并拉取请求”和“确认合并”。

你的Git存储库me/foobar将被更新。

编辑:rebase选项显示在这里: