2011-02-18 116 views
1

不知道我如何管理这个,但我不能创建一个本地和远程分支了。突然不能创建本地/远程git分支

~/myapp(master) > git checkout -b new_feature origin/new_feature 
fatal: git checkout: updating paths is incompatible with switching branches. 
Did you intend to checkout 'origin/new_feature' which can not be resolved as commit? 

我试过重新克隆我的应用程序,以防万一.git目录被破坏,但没有运气。有什么建议么?

+0

您需要注意术语“远程分支”。它通常意味着你自己的仓库中的一个ref,它指的是远程仓库中分支的最近提取位置。这听起来像是你试图在远程仓库中实际创建一个分支*;如果它尚不存在,则必须按照答案中的描述进行推送。 – Cascabel 2011-02-18 05:53:00

+0

Jefromi,谢谢,但我很困惑你的意思是关于远程分支“通常意味着在你自己的仓库中的ref”。是不是我自己的仓库中的一个分支是本地分支?无论如何,你是对的 - 解决方案是先创建一个远程分支。 – Zubin 2011-02-19 07:11:37

回答

3

您不能以这种方式创建远程分支,您需要先创建git checkout -b new_feature以创建新的本地分支,然后使用git push origin new_feature将分支推送到远程。

+0

谢谢安德鲁,现货!我错误地认为远程分支也是自动创建的。这个命令以前有效,但事后看来,远程分支必须已经存在。 – Zubin 2011-02-19 07:02:29

2

尝试其中之一:

  • 要创建本地分支:git branch some_branch

  • 要使用(结账)分支(这不是自动):git checkout some_branch

  • 创建远程分支:git push origin origin:refs/heads/some_branch

  • 要结帐(并跟踪)远程麸皮ch(创建local_branch,如果它还不存在):git branch --track local_branch origin/remote_branch