如何进入所有分支?

时间:2013-12-24 09:41:46

标签: git github git-pull pull-request

我正在为GitHub上的一个项目做贡献。

我做了以下事情:

  1. 分叉回购
  2. 克隆分叉的回购
  3. 在我的本地仓库中创建了一个本地分支
  4. 修复了本地分支中的错误
  5. 将更改推送到我的分叉回购
  6. 从新分支发出拉取请求
  7. 经过很多天,我得到了一些评论,我还要做一些更改。

    但是从那以后他们的代码发生了很大的变化。如果我必须再次发出拉取请求,我必须用他们更新的代码更新我的新分支并合并我的更改。

    我该怎么做?

    修改

    在此之前,我的git log看起来像这样:

      

    提交“功能已完成”(最新,我想推送的内容)

         

    提交B“功能仍然表现得很奇怪”

    我完全按照VonC的建议做了(除了我在fetch编辑时我在我的功能分支中。)

    我的rebase有冲突。 当我尝试解决它们时,我很惊讶地发现它在上游主服务器上重定位提交B而不是A。我已多次检查过这些内容:git log显示我所展示的内容。

    为什么在上游主数据库中重新定位我的之前的提交?

    修改: 我通过将我的2个提交AB压缩成一个来解决上述问题。 不知道为什么会发生......

1 个答案:

答案 0 :(得分:2)

你需要:

  • 将原始仓库添加为新远程:

    git remote add upstream https://github.com/user/repo
    
  • 从“上游”获取

    git fetch upstream
    
  • 在上游/主人

    之上重新绞尽脑汁
    git checkout yourBranch
    git rebase upstream/master
    
  • 强行推送到您的前叉:将自动更新您的请求

    git push --force origin yourBranch