300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Git checkout:更新路径与切换分支不兼容

Git checkout:更新路径与切换分支不兼容

时间:2022-05-13 02:53:33

相关推荐

Git checkout:更新路径与切换分支不兼容

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

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

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

但我收到此错误消息:

致命:git checkout:更新路径与切换分支不兼容。

您是否打算签出无法解析为提交的“origin / remote-name”?

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

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

#1楼

对我来说有用的是:

git fetch

这会将所有refs下载到你的机器上,用于遥控器上的所有分支。 然后我就能做到

git checkout <branchname>

这非常有效。 类似于最高投票的答案,但更简单一点。

#2楼

在获取了数十亿次之后,仍然添加了遥控器没有出现,虽然斑点在池中。 事实证明,无论出于何种原因,都不应将-tags选项赋予git remote add。 您可以手动将其从.git / config中删除,以使git fetch创建refs。

#3楼

我相信当你试图检查当地git repo尚未发现的远程分支时会发生这种情况。 尝试:

git remote show origin

如果要签出的远程分支位于“新远程分支”而不是“已跟踪远程分支”,则需要先获取它们:

git remote updategit fetch

现在它应该工作:

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

#4楼

替代语法,

git fetch origin remote_branch_name:local_branch_name

#5楼

我怀疑没有名为remote-name的远程分支,但是你无意中创建了一个名为origin / remote-name的本地分支。

是否有可能在某些时候键入:

git branch origin/remote-name

从而创建一个名为origin / remote-name的本地分支? 输入以下命令:

git checkout origin/remote-name

你会看到:

Switched to branch "origin/remote-name"

这意味着它真的是一个错误命名的本地分支,或者

Note: moving to "origin/rework-isscoring" which isn't a local branchIf you want to create a new branch from this checkout, you may do so(now or later) by using -b with the checkout command again. Example:git checkout -b

这意味着它真的是一个远程分支。

#6楼

在尝试了我在这个帖子中读到的大部分内容之后没有成功,我偶然发现了这个: 远程分支没有出现在“git branch -r”中

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

来自

[remote "origin"]url = /scm/EX/project.gitfetch = +refs/heads/master:refs/remotes/origin/master

[remote "origin"]url = /scm/EX/project.gitfetch = +refs/heads/*:refs/remotes/origin/*

诀窍

#7楼

对我来说,我有一个错字,我的远程分支不存在

使用git branch -a列出远程分支

#8楼

不确定这是否对您的问题有用或完全相关,但如果您尝试从远程存储库中仅获取并签出一个分支,则以下git命令将执行此操作:

url= << URL TO REPOSITORY >>branch= << BRANCH NAME >>git initgit remote add origin $urlgit fetch origin $branch:origin/$branchgit checkout -b $branch --track origin/$branch

#9楼

以上都不适合我。 我的情况略有不同,我的远程分支不在原点。 但是在不同的存储库中。

git remote add remoterepo GIT_URL.gitgit fetch remoterepogit checkout -b branchname remoterepo/branchname

提示:如果在以下输出git branch -v -a没有看到远程分支,则无法将其检出。

确认工作在1.7.5.4

#10楼

它不是很直观,但对我来说效果很好......

mkdir remote.git & cd remote.git & git initgit remote add origin $REPOgit fetch origin $BRANCH:refs/remotes/origin/$BRANCH

那么运行git branch --track命令......

git branch --track $BRANCH origin/$BRANCH

#11楼

您的问题是否可以与其他SO问题“结帐问题”相关联 ?

即:与以下问题有关的问题:

Git的旧版本 一个奇怪的checkout语法,应该是:git checkout -b [<new_branch>] [<start_point>][<start_point>]引用启动新分支的提交名称,以及'origin/remote-name'不是那个。

(而git branch确实支持start_point作为远程分支的名称)

注意: checkout.sh脚本说的是:

if test '' != "$newbranch$force$merge"thendie "git checkout: updating paths is incompatible with switching branches/forcing$hint"fi

这就像语法git checkout -b [] [remote_branch_name]一样,都重命名了分支并重置了新分支的新起点,这被认为是不兼容的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。