合并两个github存储库并发出拉取请求

时间:2013-07-30 18:51:06

标签: git github

我已经分了一个回购。我已经对我的回购做了一些提交,并提出了第一次拉动请求。他们已经合并成原始回购。现在我添加了更多提交,我想提出第二次拉取请求。

有两个问题:

  1. 原始回购已修改,我的回购中没有此更改。我尝试从原始仓库的URL中获取(使用Tortoise Git),但这似乎不起作用(之后没有任何东西可以提交)。
  2. 我无法使用其他任何内容创建拉取请求。
  3. 想使用Tortoise Git,但如果必须,我可以使用git命令行; - )。

    commits and branches

    图例:

    • 绿色框是已经推送到原始仓库的修订版。
    • 红色框是我想推送到原始回购的修订版。
    • 4号是我应该合并到我的回购邮件中的。

    PS:我读过branching and merging on git-scm,但这似乎是关于在一个回购中合并和分支。

    编辑:这似乎回答了我的第一个问题:Pull new updates from original GitHub repository into forked GitHub repository我不确定在这种情况下我是否应该合并或变基,但是......

1 个答案:

答案 0 :(得分:2)

您需要执行以下操作:

git fetch original
git rebase original/master
git push origin master

(“original”是指原始回购网址的遥控器的名称 '上游'将是一个更好的名称,因为它不会如此接近'origin') (如果您已经推动了主分支,则需要执行git push --force origin master

请参阅“Pull new updates from original Github repository into forked Github repository”;

upstream vs. fork

您的拉取请求将自动更新(无需“重做”拉取请求)。

但是请:始终在分支机构中提取您的拉取请求,而不是在主分部:请参阅“How to do a Github pull request?”。 master应该反映完全上游的内容('original')master