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

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


当前回答

要克隆 git 仓库,请:

git clone <either ssh url /http url>

以上命令检查所有分支,但只有主分支会被初始化。如果您想要检查其它分支,请做 :

git checkout -t origin/future_branch (for example)

此命令检查远程分支, 您的本地分支名称将与远程分支相同 。

如果您想要在退出时覆盖您的本地分支名称 :

git checkout -t -b enhancement origin/future_branch

您的本地分支名称是增强, 但您的远程分支名称是未来_ branch 。

其他回答

在您的情况中,您可以使用此命令:

git 检出 -b 测试来源/测试

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

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

$ 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 ( & gt; = 1.6. 6) 您可以使用

git checkout test

(注意测试不是“原产/试验”) 执行神奇的dwim-mery 和为您创建本地分支“测试”, 而上游则是远程跟踪分支“原产/试验”。


在 Git 分支输出中的 * (没有分支) 表示您在未命名的分支上, 即所谓的“ 挂勾头 ” 状态( 直接承诺的头点, 而不是某些本地分支的象征性引用) 。 如果您在这个未命名的分支上做了一些承诺, 您总是可以在当前承诺中创建本地分支 :

git checkout -b test HEAD

评论中建议的一种更现代的方法:

@dennis: git check out&lt;non-branch&gt; 例如, git check out/ test 结果在独立头部/ 未命名分支中, 而 git check out test 或 git check out - b 测试源/ test 结果在本地分支测试中( 有远程跟踪分支来源/ 测试为上游) - Jakub narbski jan 9'14 at 8: 17

以 git 检出来源/ 测试为重点

有许多替代办法,例如:

替代 1: git 抓取 git 检出测试, 这是最简单的方法 。 替代 2: git 抓取 git 检出测试相同, 但分为两步 。

简单的 Git 检查退出时使用远程分支的名称。 git 会自动创建本地分支, 跟踪远程分支 :

git fetch
git checkout test

但是,如果在不止一个远程中发现该分支名称, 这不会起到Git不知道该使用什么的作用。 在这种情况下, 您也可以使用 :

git checkout --track origin/test

git checkout -b test origin/test

在 2.19 中, git 学会了检出。 默认远程配置, 指定了在解决这种模糊性时的远程默认值 。