尝试使用git检出另一个分支时出现致命错误

时间:2014-05-27 13:47:19

标签: git

我试图看一下开发人员的另一个分支,当我执行此命令时:

git checkout -b master origin/new_branch_name 

我收到此错误消息:

fatal: Cannot update paths and switch to branch 'master' at the same time. Did you intend to checkout 'origin/new_branch_name' which can not be resolved as commit? 
是的,我错过了一步吗?谁会知道我做错了什么?我是否应该首先在本地创建存储库?

1 个答案:

答案 0 :(得分:4)

此错误消息表示您尝试创建新分支的参考点在您的本地存储库中不存在(在您所述的示例中为origin/new_branch_name)。对此的解决方案是运行git fetch origin以确保您的origin远程存储库中存在的那些分支也已在本地创建(如果您已与您的{{的默认配置混淆) 1}}远程,您可能需要origin代替。)

此外,由于git fetch origin refs/heads/*:refs/remotes/origin/*的参数旨在成为正在创建的新本地分支的名称,-b可能不正确,因为您很可能已经拥有本地git checkout -b master ...分支。大多数情况下,在远程分支之后命名本地分支以避免混淆是有意义的,因此您希望在master之后运行的命令是git fetch origin。 (您可以将其简化为git checkout -b new_branch_name origin/new_branch_name,因为如果git checkout new_branch_name不存在,git checkout <branch>的默认行为是查找<branch>并创建本地分支同名指向远程分支。)