有人将称为 Git 推力源测试的分支推向共享仓库 。 我可以看到有 git 分支 -r 的分支 。 我如何查看远程测试分支 ? 我试过 :

git 检出测试, 它不会给 git 检出源/ 测试提供任何结果 * (无分支)


当前回答

这将为未命名的远程来源( 文档) 提供宽度 :

$ git checkout -t remote_name/remote_branch

添加新的远程,您需要首先做以下操作:

$ git remote add remote_name location_of_remote
$ git fetch remote_name

第一次告诉遥控器的存在, 第二次得到承诺。

其他回答

其他男人和女孩提供解决方案, 但也许我可以告诉你原因。

git 检查退出测试, 无效

没有什么不相等是行不通的, 所以我猜当你在终端键入“ gitt check out test” 并按下输入密钥时, 没有消息出现, 没有错误发生 。 对吧 ?

如果答案是"是" 我可以告诉你原因

原因是在工作树上有一个名为“测试”的文件(或文件夹)。

当Git退房 xxx解释,

git looks on xx 最初是一个分支名称, 但是没有哪个分支名称的测试。 然后 git 认为 xx 是一个路径, 幸运的是( 或者不幸地), 有一个名为测试的文件。 git 检查 xxx 意味着放弃第xx 文件中的任何修改 。 如果没有名为 xx 的文件, 那么git 将尝试根据某些规则创建 xx 。 其中一条规则是创建一个名为 xx 的分支, 如果有远程/ 原始/ xxx 存在 , 则创建一个名为 xx 的分支 。

i 被困在一个看到错误的情况中: 路径谱“ 想要的分支” 与上述所有建议已知的 Git 匹配的文件不匹配 。 i' 正在 Git 1. 8. 3. 3.1 版本上 。

因此,这对我有效:

git fetch origin desired-branch
git checkout -b desired-branch FETCH_HEAD

背后的解释是,我已经注意到, 当拿起远程分支时, 它被拿到fick_head:

git fetch origin desired-branch

From github.com:MYTEAM/my-repo
    * branch            desired-branch -> FETCH_HEAD

因为某种原因,我不能做:

git checkout -b branch-name origin/branch-name

它扔出错误:

致命 : “ 来源/ 分支名称” 不是一个承诺, 无法从中创建分支“ 分支名称 ” 。

我不得不这样做:

git checkout -b branch-name commit-sha

被接受的答案不为你工作?

第一个和选定答案在技术上是正确的,但您可能尚未从远程仓库中检索到所有对象和参考文献。 如果是这样,您将会收到以下错误:

$ git checkout -b remote_branch origin/remote_branch

致命: git 检出: 更新路径与切换分支不兼容 。 您是否打算检查“ 来源/ remote_ branch ” , 无法以承诺方式解决 ?

解决方案

如果您收到此信件, 您必须先从 Git 获取源代码中获取消息, 在运行 git 检查远程_ branch 之前, 源代码是远程仓库的名称 。 以下为完整的例子, 并给出回复 :

$ git fetch origin
remote: Counting objects: 140, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 69 (delta 36), reused 66 (delta 33)
Unpacking objects: 100% (69/69), done.
From https://github.com/githubuser/repo-name
   e6ef1e0..5029161  develop    -> origin/develop
 * [new branch]      demo       -> origin/demo
   d80f8d7..359eab0  master     -> origin/master

$ git checkout demo
Branch demo set up to track remote branch demo from origin.
Switched to a new branch 'demo'

正如您所看到的, 运行 Git 抓取来源时, 检索到我们尚未设置的远程分支 来追踪本地机器 。 从那里, 既然我们现在有一个 ref 到远程分支, 我们可以简单地运行 git 检查远程支架, 我们会从远程跟踪中受益 。

我尝试了上述解决方案,但行不通。试试这个,它奏效了:

git fetch origin 'remote_branch':'local_branch_name'

这将获取远程分支, 并创建一个新的本地分支( 如果尚未存在的话) , 名称为本地_ branch_ name , 并跟踪其中的远程分支 。