2013-05-30 42 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