如何使用Github桌面版同步你fork的仓库和原始仓库

29

在标记为重复之前,请仔细阅读本文

我知道在https://dev59.com/Smw05IYBdhLWcg3wcRUj有 CMD 的解决方案,但我询问的是 GitHub Desktop。如果您无法回答,请不要标记为重复。

我是开发的新手,听说过 Git 和 GitHub,并学习了很基础的内容,然后下载了GitHub Desktop。 过了一会儿,我发现了一个很棒的开源项目,将其 fork 并在我的 Github Desktop 中克隆了这个分叉存储库。我改进了其中一些功能并将我的本地 Repo 与我的 GitHub forked Repo 进行了同步,然后我进行了一个Pull Request,我的提交被接受并合并到原始存储库中。 我添加了许多新功能,而且所有的 Pull requests 都已经合并了。

这就是悲伤的故事开始的地方 :( 十天后,当我在 GitHub 网站上打开我的 Forked Repo 时,看到了这个:

此分支落后于 Hipo:master 的 12 次提交

在这之后,我搜索了很多小时的网络,但找不到 GitHub Desktop 的解决方案,我知道有很多教程是针对CMD的,但我需要知道如何从 GitHub Desktop 应用程序与原始 Repo 进行同步?

我是新手,如果我问了一些愚蠢的问题,请见谅 :) 谢谢


1
为什么不按照 https://help.github.com/articles/syncing-a-fork/ 的步骤去完成呢?Github桌面版是一个图形用户界面,它不会为每个使用情况提供一个按钮 - 相反,它只适用于通用的使用情况。 - prabodhprakash
无论您使用Git的哪种界面(GUI或命令行),更新您的分支的步骤始终相同。因此,请查看现有问题的答案。例如,这个问题:https://dev59.com/Smw05IYBdhLWcg3wcRUj - jdno
可能是如何更新GitHub分叉存储库?的重复问题。 - jdno
1
@jdno 我已经在问题中提到有很多关于CMD的教程,但我想要桌面应用程序的答案。 - zsubzwary
1
@Zakawat 步骤都是一样的:将原始仓库添加为远程仓库,获取并合并或变基。无论通过哪个界面执行此操作都没有关系。阅读GitHub桌面的文档或查找更具体的问题以了解如何执行各个任务。总的来说:在使用任何UI之前学习如何在CLI上使用Git。这将使像这样的事情更容易理解,迟早你也必须使用它。相信我。 - jdno
2
@jdno,经过一年半的时间,我终于意识到了你的话:“在使用任何UI之前,学会如何在CLI上使用Git。这将使像这样的事情更容易理解,迟早你也必须使用它。”现在我几乎可以用CLI来完成所有的事情了!谢谢! - zsubzwary
2个回答

56
使用GitHub Desktop将您的fork主分支与原始存储库的主分支同步:
单击“当前分支”选项卡,首先选择“master”作为当前分支(如果尚未选择)。
单击“提取来自origin的数据”按钮。
再次单击“当前分支”选项卡,然后单击底部的“选择要合并到主分支的分支”按钮。

Button "choose a branch to merge into master"

*注意:浏览此列表,您将找到每个分支的2个条目。以origin/为前缀的是在您的分叉中的分支,以upstream/为前缀的是在GitHub上的原始存储库中的分支。
从此列表中选择upstream/master,并将更改拉回主存储库,以使您的本地克隆保持最新状态。

Select upstream/master from this list

当你的本地克隆完成从主repo拉取更新后,使用GitHub桌面端的push origin按钮将这些新更改推送到存储在GitHub上的你的分支


1
如果我找不到名为upstream的东西怎么办?我只看到本地分支。 - Surjith S M
1
我找到了原因 - 如果您没有登录GitHub(例如仅使用SSH密钥),则上游将不会存在。 - Thibaut Barrère
非常好的答案,因为“选择要合并到主分支的分支”按钮隐藏在下拉菜单的最底部,所以很棘手,我永远不会注意到 :-) - escalator
这会同步维基吗? - Lockszmith

4

常见的解决方案对我无效 - 我一直收到“已存在该名称的分支”的错误。根据这个问题,我找到了以下可行的步骤:

  1. 在默认分支中切换到历史记录选项卡
  2. 在此处可以选择名为 upstream/master 的分支,然后点击“合并到 master”

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