我分叉了一个项目,进行了更改,并创建了一个被接受的拉取请求。新的提交后来被添加到存储库中。我怎样才能把这些承诺交给我?
当前回答
如果像我一样,你从来没有直接向主人承诺过什么,你真的应该这样做,你可以做以下事情。
从fork的本地克隆创建上游远程。你只需要做一次:
git remote add upstream https://github.com/whoever/whatever.git
然后,每当您想赶上上游存储库主分支时,您需要:
git checkout master
git pull upstream master
假设你从未对师父做过任何事,你应该已经做了。现在,您可以将本地主机推送到源远程GitHub分叉。您还可以将开发分支重新基于当前最新的本地主机。
在初始的上游设置和主签出之后,您需要做的就是运行以下命令以将主设备与上游设备同步:git pull上游主设备。
其他回答
如果您使用GitHub Desktop,只需6步(实际上只有5步)即可轻松完成。
打开Github Desktop并选择存储库后,
转到“历史记录”选项卡单击搜索栏。它将显示所有可用的分支(包括父存储库的上游分支)选择相应的上游分支(它将是上游/主分支到同步主分支分支)(可选)它将显示上游分支中的所有提交。您可以单击任何提交都可以看到更改。根据您的活动分支,单击主/分支名称中的合并。等待GitHub Desktop发挥作用。
查看下面的GIF作为示例:
如果您使用的是Windows或Mac的GitHub,那么现在他们有一个一键更新fork的功能:
在UI中选择存储库。单击顶部的“从用户/分支更新”按钮。
如果你想让你的GitHub分叉与各自的上游保持最新,那么GitHub也有一个专门的probot程序:https://probot.github.io/apps/pull/这就完成了任务。您需要允许在您的帐户中安装,这将使您的叉子保持最新状态。
许多答案最终会将fork移到父存储库之前一次提交。这个答案总结了这里找到的步骤,这些步骤会将您的fork移动到与父级相同的提交。
将目录更改为本地存储库。如果您不是git结账主管,请切换到master分支将父级添加为远程存储库,git remote Add upstream<repo location>向上游发出git fetch发布git上游/主数据库在这个阶段,您可以通过键入gitstatus来检查提交将要合并的内容发布git推送源主机
有关这些命令的更多信息,请参阅步骤3。
自2013年11月以来,GitHub发布了一个非官方的功能请求,要求他们添加一个非常简单直观的方法来保持本地分叉与上游同步:
https://github.com/isaacs/github/issues/121
注意:由于功能请求是非官方的,因此建议联系support@github.com添加对要实现的类似功能的支持。上述非官方功能请求可作为对正在实施的功能感兴趣的证据。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- 只用GitHub动作在特定分支上运行作业
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 是否有一个链接到GitHub下载文件的最新版本的存储库?