与父git repo重新同步fork

时间:2014-03-04 22:52:35

标签: git github

我已经在github上分享了一个repo,而且我已经分配的repo已经添加了一个新的分支。我想将该分支放入我的本地分支并继续工作。之后我想提交那个分支(在我的本地分支中),然后向原始父回购提交拉取请求。

当我尝试这样做时最终发生的事情如下

  1. 来自父级仓库的叉子
  2. 父回购然后创建一个新分支
  3. 在我的本地计算机上执行:git remote add parent https://github.com/PARENT/parentProj.git
  4. git pull parent [新分支名称]
  5. 现在我尝试:git checkout [新分支名称],我得到“分支[新分支名称]设置为从父级跟踪远程分支[新分支名称]。 切换到新分支'[新分支名称]'
  6. 我觉得我很好,但我不是。现在,当我进行更改和git push时,我得到“远程:PARENT / parentProj.git的权限被拒绝[我]。”
  7. 我相信它正在尝试推送到父项目的新分支,而不是我的分支。

    如何让我按下我叉子上的新分支,以便我可以发出拉取请求?

2 个答案:

答案 0 :(得分:1)

当您执行git分支-avv时,Git会向您显示您的本地分支机构“连接到”的远程分支。

$> git branch -avv
* master                a1b2c3d [origin/master] Some commit message here

[origin/master]部分意味着,如果您更新此分支,并尝试git push,那么它就会尝试推送。

在您的情况下,我建议重新分配该遥控器的网址,但仅针对push。看起来你总是希望从父叉到fetch,而push到你的本地,对吗?如果是这样的话,那就试试这个:

git remote set-url --push origin git@github.com:YourUser/theRepository.git

这样,当你拉动时,它来自父叉,当你推动时,它会转到你自己的叉子上。然后,使用pull-request机制将代码从本地fork获取到父级。

答案 1 :(得分:1)

原来我应该更多地搜索(或者更好地搜索要搜索的内容)。这个答案解决了我的问题:Github: Import upstream branch into fork