github:这个分支是N提交

drm*_*wer 5 git github

我分叉了另一个仓库,并做了一些更改,所有更改都直接在github站点上进行...我不需要获取本地副本(该副本太大,无法放入受空间限制的IDE),因此我想直接完成所有操作在github repo页面上(不太可能需要进行很多更改,如果这样,它们将变得微不足道并且可以通过github网页轻松地进行)。

这些更改已由另一个存储库的所有者合并,因此我们的两个存储库现在已同步。但是,我的叉子现在显示:

This branch is 4 commits behind OtherOne:master.
Run Code Online (Sandbox Code Playgroud)

我该如何解决问题(仅通过github页面),以使事情回到我的存储库未显示为落后于它们的状态?如果我Compare在回购中做一个a ,它会说:

There isn’t anything to compare.
OtherOne:master is up to date with all commits from MyOne:master.  Try switching the base for your comparison.
Run Code Online (Sandbox Code Playgroud)

因此,我认为该回购实际上已经完全同步了……但是我只想删除该“背后”消息(因为我就是这样)。有什么办法吗?我可以删除我的存储库,然后再进行分叉……但这看起来很不雅致。

将来,如果另一个仓库被更新了,我该如何将这些更改再次放入我的仓库中呢……全部都在github上,而不是通过CLI。

Adi*_*l B 8

创建合并OtherOne:master到分叉存储库中的拉取请求,然后合并它。这应该删除消息并确保两个存储库确实同步。

  • 谢谢......有人实际上试图提供帮助,而不仅仅是贬低和批评我的方法。完整步骤是:我进入我的回购,点击新的拉取请求,(说没有什么可比较的),点击切换基础来反转比较,这样我的回购在左边,上游回购在右边(箭头向左指向我的),现在它说“能够合并。这些分支可以自动合并”,然后单击创建拉取请求,给它一个标题,再次单击创建拉取请求,然后合并拉取请求,并确认。 (14认同)
  • 进一步注意:即使没有显示“切换基地”,您也可以通过手动编辑地址栏中的 URL 来切换它们。或者将左侧的下拉列表更改为您自己的回购(然后它会说“没有任何东西可以比较”,然后选择“跨叉比较”,然后从右侧的下拉列表中选择另一个回购..你的仓库在左边,另一个在右边 (2认同)

Gar*_*aro 7

不要在github站点上尝试(可能,但不是个好主意)。而是使用“干净”的方法,并使用git-repo从目录内部执行此操作:

  1. 告诉您的存储库原始存储库:

    git remote add upstream git://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

  2. 获取原始分支: git fetch upstream
  3. 将原始数据引入分支: git pull upstream master
  4. 将其推送到您的github存储库: git push

  • @drmrbrewer,这应该被选为正确答案。 (4认同)