我有时使用checkout -b
选项来创建一个新的分支,同时签出它,并在一个命令中设置跟踪。
在一个新的环境中,我得到了这个错误:
$ git checkout -b test --track origin/master
fatal: Cannot update paths and switch to branch 'test' at the same time.
Did you intend to checkout 'origin/master' which can not be resolved as commit?
为什么Git不喜欢它?这曾经适用于相同的repo。
发布于 2014-09-29 17:00:32
如果你的分支名有一个拼写错误,你会得到同样的错误。
发布于 2015-05-14 22:40:46
你可以在Travis构建的上下文中得到这个错误,例如,默认情况下,使用git clone --depth=50 --branch=master
签出代码。据我所知,您可以通过.travis.yml
控制--depth
,但不能通过--branch
。由于这会导致遥控器只跟踪一个分支,因此您需要独立地更新遥控器以跟踪所需的遥控器的引用。
之前:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
解决方法:
$ git remote set-branches --add origin branch-1
$ git remote set-branches --add origin branch-2
$ git fetch
之后:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/branch-1
remotes/origin/branch-2
remotes/origin/master
发布于 2015-06-16 18:49:27
这个简单的方法对我很有效!
如果它说不能同时做两件事,那就把它们分开。
git branch branch_name origin/branch_name
git checkout branch_name
https://stackoverflow.com/questions/22984262
复制相似问题