2014-03-04 70 views
1

我已經在github上分叉了一個回購和我已經分叉的回購已經添加了一個新的分支。我想把那個分支放到我的本地分支中去處理它。之後,我想提交該分支(位於本地分支中),然後向原始父分支提交拉取請求。重新同步分叉與父git回購

結束意外事件發生時,我嘗試這樣做是從母公司回購如下

  1. 母公司回購,然後做一個新的分支
  2. 在我的本地機器我做的:遠程Git添加父https://github.com/PARENT/parentProj.git
  3. 混帳拉父[新分支名]
  4. 現在我嘗試:git的結帳[新分支名]我得到「科[新分支名]設置爲追蹤遠程分支[新分支名]家長。 切換到新分支'[新分行名稱]'
  5. 我認爲我很好,但我不是。現在,當我做出我的更改和git push時,我得到「remote:PARENT/parentProj.git的權限被拒絕給[我]。」

我相信它試圖推到父項目新的分支,而不是我的分叉。

我如何得到它讓我推到新的分支上我的叉子,這樣我就可以發出拉入請求?

回答

1

當你做一個git分支-avv時,Git會向你顯示你的本地分支「連接到」哪個遠程分支。

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

[origin/master]零件的意思是,如果你更新這個分支,並嘗試git push,這就是它會嘗試推動。

在你的情況,我建議重新分配遠程的URL,但僅push。看起來你總是想要從父叉到fetch,並且push到你的本地,對嗎?如果是這樣的話,那就試試這個:

git remote set-url --push origin [email protected]:YourUser/theRepository.git 

這樣,當你拉,它來自父叉,當你推,它關係到你自己的叉子。然後,使用拉取請求機制將您的代碼從本地分叉獲取到父代。

+0

這就是我想要的,但不完全。真的,我只想告訴我的叉子從父母那裏獲得所有的東西。提交,分支等等,就好像我吹走了整個叉子並重做它。這是我發現所有東西都能正確同步的唯一方式,但希望有更好的方法。 – Dan