2014-02-20 107 views
1

我一直在閱讀關於使用git的&,但我仍然對術語「起源」感到困惑。git set upstream to origin

我有一個當地的回購,我做了一個新的分支。這個新分支是我的主人的副本。

我的主人是原始主人的叉子,另一個人是由別人做的,並且在某些提交之後在原始主人的前面,在其他人的後面。

我想合併我的分支「myBranch」與原來的主人。即我希望我的新分支是原始主人(不是我自己的主人)的克隆

如何去?

我試過git rebase,git merge,--set-upstream-to =,git fetch ...說實話我只是感到困惑。

回答

5

'origin'只是git給遠程倉庫的默認名稱 - 在你的情況下,你的叉子在github上。如果您願意,您可以將該名稱覆蓋爲更有意義的內容。 (我經常使用'github'或'bitbucket'而不是'origin')。

您的本地主分支可能正在跟蹤遠程存儲庫上的主分支。這將允許您使用

git checkout master 
    git push origin master 

爲了應對從您的新分支的變化,推動由你做主到遠程主的變化,你需要首先合併到本地主:

git checkout master 
    git merge mybranch 

然後,您將能夠將這些更改推送到遠程回購。

然後,您可以在github上創建「拉取請求」,以便原始所有者可以根據需要將您的更改合併到其回購庫中。

爲了使您的前叉達日期從原來的變化,你需要到另一個遠程添加到您的本地資源庫:

git remote add original <url to orginal github repo> 

,那麼你可以獲取從那裏更改您的本地回購:

git checkout master 
    git fetch original 
    git rebase original/master 

,並把它們合併成mybranch,如果你想:

git checkout mybranch 
    git rebase master 
+0

歐文,感謝您的輸入!我認爲我的困惑是_「哪個是遙遠的?」_我的回購協議(在我的github賬戶上)或者我原來從哪裏分出來的? – Rikard

+0

你的叉子在github上。您無法將更改推送給原件。您必須爲該回購商的所有者創建拉取請求。 – Owen

+1

我想要的是rebase我的本地分支,而不是推。使其成爲原始主人(我不擁有的人)的克隆 – Rikard

相關問題