我能否在git上更新一个fork的项目到原始/主分支?

34

几周前,我在GitHub上fork了一个公共项目。今天,我想尝试一些东西,但我想确保我使用的副本是最新的。

我可以先更新我的fork吗?

如果在我开始更改后,fork发生了更改,会发生什么呢?我能够再次更新我的fork,同时保留我的更改(即,合并,如有必要)吗?

1个回答

45

是的,您可以从原始存储库中pull更改到您的fork。向其添加远程(因为origin将是您的fork),然后进行拉取。

这来自GitHub帮助:

首先,将远程添加到原始存储库。

帮助在此处:http://help.github.com/remotes/

然后,您可以拉取原始存储库的更新。引用自http://help.github.com/fork-a-repo/

拉取上游更改

如果您从中派生项目的原始存储库得到更新,则可以通过运行以下代码将这些更新添加到您的fork中:

$ git fetch upstream

$ git merge upstream/master

所有这些都可以在命令行中完成。

以下是TortoiseGit的说明:

右键单击您的项目-> TortoiseGit->设置->远程。

在此处添加远程详细信息:

enter image description here

现在,右键单击-> TortoiseGit-> Pull。

您将看到一个对话框,以选择远程(您应该能够在前一步中看到添加的远程)。选择它并进行拉取。

enter image description here


1
哇 - 这一点也不合理。好的.. rebase.. 我正在使用 TortoiseGit .. 我应该在 Git 网站上还是在我的分支存在的文件系统中执行这个 rebase 操作? - Pure.Krome
@Pure.Krome - 你需要在本地(文件系统)克隆上执行此操作。我已经更新了我的答案,使其“更有意义”。 - manojlds
太棒了 - 成功了 :) 我需要弄清楚的唯一一件事是在第一张截图之后,我需要添加一个远程名称和源存储库的URL(这并不难弄清楚)。我像git文档和你的屏幕截图一样称之为“upstream”。看起来很不错! - Pure.Krome

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