Ikk*_*kke 463 git remote-branch git-checkout
我的问题与切换分支时的致命Git错误有关.
我尝试使用该命令获取远程分支
git checkout -b local-name origin/remote-name
Run Code Online (Sandbox Code Playgroud)
但我收到此错误消息:
致命:git checkout:更新路径与切换分支不兼容.
您是否打算签出无法解析为提交的"origin/remote-name"?
如果我手动创建一个分支然后拉远程分支,它就可以工作,就像创建一个新的克隆并检查分支一样.
为什么它不适用于我使用的存储库?
use*_*628 736
我相信当你试图检查你当地的git repo还不知道的远程分支时会发生这种情况.尝试:
git remote show origin
Run Code Online (Sandbox Code Playgroud)
如果要签出的远程分支位于"新远程分支"而不是"已跟踪远程分支",则需要先获取它们:
git remote update
git fetch
Run Code Online (Sandbox Code Playgroud)
现在它应该工作:
git checkout -b local-name origin/remote-name
Run Code Online (Sandbox Code Playgroud)
小智 148
替代语法,
git fetch origin remote_branch_name:local_branch_name
Run Code Online (Sandbox Code Playgroud)
Pål*_*ver 45
在尝试了我在这个帖子中读到的大部分内容之后没有成功,我偶然发现了这个: 远程分支没有出现在"git branch -r"中
原来我的.git/config文件不正确.做了一个简单的修复后,所有分支都出现了.
来自
[remote "origin"]
url = http://stash.server.com/scm/EX/project.git
fetch = +refs/heads/master:refs/remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
至
[remote "origin"]
url = http://stash.server.com/scm/EX/project.git
fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)
诀窍
Vir*_*oid 12
不确定这是否对您的问题有用或完全相关,但如果您尝试从远程存储库中仅获取并签出一个分支,则以下git命令将执行此操作:
url= << URL TO REPOSITORY >>
branch= << BRANCH NAME >>
git init
git remote add origin $url
git fetch origin $branch:origin/$branch
git checkout -b $branch --track origin/$branch
Run Code Online (Sandbox Code Playgroud)
Oli*_*alo 11
以上都不适合我.我的情况略有不同,我的远程分支不在原点.但是在不同的存储库中.
git remote add remoterepo GIT_URL.git
git fetch remoterepo
git checkout -b branchname remoterepo/branchname
Run Code Online (Sandbox Code Playgroud)
提示:如果在以下输出中没有看到远程分支,git branch -v -a则无法将其检出.
确认工作在1.7.5.4
对我来说有用的是:
git fetch
Run Code Online (Sandbox Code Playgroud)
这会将所有refs下载到你的机器上,用于遥控器上的所有分支.然后我就能做到
git checkout <branchname>
Run Code Online (Sandbox Code Playgroud)
这非常有效.类似于最高投票的答案,但更简单一点.
| 归档时间: |
|
| 查看次数: |
208527 次 |
| 最近记录: |