在 GitHub 上更新派生项目

28

假设我要克隆的存储库(对我来说只读)是:

git@github.com:secret_project/dev.git  branch: dev

我fork了项目和URL:

git@github.com:secret_user/Dde.git

(我完全可以访问:读取 + 写入)

但是有人从另一个派生版本更新了git@github.com:secret_project/dev.git

假设文件已更改

git@github.com:secret_project/dev.git  (test.txt)
content:
hi!

但是我分支的项目有一个名为test.txt的文件,其中包含以下内容:

hi

那么我该如何在本地和我的代码库中更新 fork 的项目呢?

应该使用哪些命令?请用我展示的代码库举个例子。


可能是重复的问题:如何更新 GitHub fork 的仓库? - kapa
2
@kapa:如何更新 GitHub fork 的存储库?这篇文章比这篇文章更新... - mpromonet
2个回答

24

你应该将原仓库 'upstream' 的远程地址添加到你本地仓库中(它是你的 Dde.git 分支的克隆):

git remote add upstream git://github.com/secret_project/dev.git # public read-only URL

这将允许您将“upstream”拉到自己的分支中(合并并解决任何在test.txt中出现的合并冲突)。 然后,您将把本地分支推送到您的Dde GitHub存储库。

有关更多详细信息,请参见GitHub帮助页面:“使用远程库”


1
如果你将它命名为 upstream —— 因此,输入 git remote add upstream 而不是 git remote add dev —— 你就能够按照 GitHub 的文档 "同步 fork" 进行操作。你也会更清楚哪些开发是你的,哪些是上游完成的。 - fureigh
1
@fureigh 谢谢。我通常会在后续的回答中这样做(比如 https://dev59.com/1Wox5IYBdhLWcg3wWjHQ#9257901),但显然我在5年前没有这个习惯。我已经相应地编辑了答案。 - VonC
感谢您更新答案!(另外,回想起来,我注意到我的语气可能会被解读为讽刺 - 当然并不是这个意图,所以如果有这种感觉,我向您道歉。) - fureigh

1

只需从您的存储库的GitHub页面发送一个拉取请求到父存储库。然后在本地分叉的存储库中拉取更改并提交和发送新的拉取请求。


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