Git签出:更新路径与交换分支不兼容

我的问题与切换分支时致命的Git错误有关。

我尝试使用该命令获取远程分支

git checkout -b local-name origin/remote-name

但我得到这个错误信息:

致命的:git checkout:更新路径与开关分支不兼容。
您是否想签出无法解析为“提交”的“origin / remote-name”?

如果我手动创建一个分支,然后拉动远程分支,它就可以工作,就像创建一个新的克隆并检查分支一样。

为什么它不适用于我使用的存储库?


我相信这是在您试图检出您的本地git仓库尚未知道的远程分支时发生的。 尝试:

git remote show origin

如果您想要签出的远程分支在“新建远程分支”而不是“跟踪远程分支”下,那么您需要首先获取它们:

git remote update
git fetch

现在它应该工作:

git checkout -b local-name origin/remote-name

备用语法,

git fetch origin remote_branch_name:local_branch_name

在尝试了大部分我可以在这个线程中读取的东西而没有成功之后,我偶然发现了这个:远程分支没有出现在“git branch -r”

事实证明,我的.git / config文件不正确。 在做一个简单的修复后,所有分支都出现了。

[remote "origin"]
    url = http://stash.server.com/scm/EX/project.git
    fetch = +refs/heads/master:refs/remotes/origin/master

[remote "origin"]
    url = http://stash.server.com/scm/EX/project.git
    fetch = +refs/heads/*:refs/remotes/origin/*

诀窍了

链接地址: http://www.djcxy.com/p/3829.html

上一篇: Git checkout: updating paths is incompatible with switching branches

下一篇: How to create a branch in git basing it on a remote branch