2013-05-30 44 views
9

我有一個github帳戶,我用它從兩個不同的機器。一方面,我創建了一個新分支myNewBranch並切換到它。然後我對我的代碼做了修改,我承諾推到myNewBranchGit:無法切換到新的遠程分支

在第二臺機器上,我無法弄清楚如何推送到它。

$ git pull origin myNewBranch 
From https://github.com/myUsername/myProject 
* branch   myNewBranch -> FETCH_HEAD 
Already up-to-date. 

[我已經成功地從它拉]

然後,我嘗試切換到它,但我得到一個錯誤:

$ git checkout myNewBranch 
error: pathspec 'myNewBranch' did not match any file(s) known to git. 

我缺少什麼?

回答

21

您需要將數據第一次提取到您的本地存儲庫機器2:

$ git fetch origin 
$ git checkout origin/myNewBranch 
+0

工作,謝謝!但是我做了一個大混亂:在我的問題中描述的行動中,我從myNewBranch退到了另一個分支。現在,我實際上希望遠程保持這個不同的分支,並將我所做的更改推送到myNewBranch。這可能嗎? –

+0

找到它了:http://stackoverflow.com/questions/8550586/how-to-push-from-one-branch-to-another-and-checkout –

1

試試做git checkout origin/myNewBranch

7

我在那裏發生了什麼是遠程起源/ myNewBranch猜測,但不是本地分支myNewBranch。你的命令所做的是將origin/myNewBranch提取到當前的本地分支。當您執行git checkout myNewBranch時,發生錯誤是因爲沒有名爲myNewBranch的本地分支。我建議嘗試git checkout -b myNewBranch origin/myNewBranch