保持最新的分叉

MyN*_*ans 12 github

我想提交财产以后到GitHub的仓库,但我(显然)没有任何权利这样做.我做了一个repo的分支,提交我的更改并提交了一个pull-request.现在,问题是,一段时间后其他人已经提交到原始仓库,这意味着我的分叉不再是最新的.

现在应该如何更新我的前叉?这是(/sf/answers/1669714301/)仍然是一种有效的方式,还是我必须删除我的仓库并每次都做一个新的叉子?

这就是github桌面中的fork的样子:

在此输入图像描述

拉取请求是由我做出的,但之后的两个提交是由其他人做出的.它们不包含在我的回购中......

Dik*_*nta 12

要同步您在原始存储库的fork中所做的更改,您必须配置指向Git中的上游存储库的远程.

指定将与fork同步的新远程上游存储库.

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
Run Code Online (Sandbox Code Playgroud)

您可以检查它是否成功:

git remote -v
Run Code Online (Sandbox Code Playgroud)

然后获取它以更新您的项目:

git fetch upstream
Run Code Online (Sandbox Code Playgroud)

将来自upstream/master的更改合并到本地主分支中.

git merge upstream/master
Run Code Online (Sandbox Code Playgroud)

最后,您可以将原始存储库的新更新提交到fork存储库.

这些信息也可以在GitHub 这里这里找到.


Von*_*onC 8

要将您在分支中所做的更改与原始存储库同步,您必须配置一个指向 Git 中的上游存储库的远程服务器。

不再是了,自 2021 年 5 月起:

从网络同步分支的过时分支

现在,您可以使用 Web UI 将分叉的过时分支与其上游分支同步。如果分支之间不存在合并冲突,则通过快进或从上游分支合并来更新分支的分支。如果存在冲突,系统将提示您打开拉取请求来解决。

获取上游最新、无冲突、冲突流

来自 GitHub

转到您的分叉,单击Fetch upstream,然后单击Fetch and merge直接将您的分叉与其父存储库同步。

比较和同步

您还可以在合并之前单击Compare按钮来比较更改。