有人推了一个分行test
与git push origin test
共享仓库的共享仓库。git branch -r
如何查看遥控器test
我试过了
git checkout test
,它没有做任何事情git checkout origin/test
给给* (no branch)
有人推了一个分行test
与git push origin test
共享仓库的共享仓库。git branch -r
如何查看遥控器test
我试过了
git checkout test
,它没有做任何事情git checkout origin/test
给给* (no branch)
当前回答
如果远程分支名称是以特殊字符开头的,您需要在退出命令中使用单引号,否则Git将不知道您在谈论哪个分支。
例如,我试图查看一个远程分支 命名为#9773
,但如下图所示,命令没有正常工作:
出于某种原因,我想知道尖锐符号(###)是否与它有关,然后我试图用单引号绕绕分支名称,例如'#9773'
而不是仅仅#9773
幸运的是,它的工作很好。
git checkout -b '#9773' origin/'#9773'
其他回答
虽然第一个和选定的答案是技术上的正确中,您可能尚未从远程仓库中检索到所有对象和参考文献。如果是这种情况,您将会收到以下错误:
$ git checkout -b remote_branch origin/remote_branch
致命: git 检出: 更新路径与切换分支不兼容 。
您是否打算检查“ 来源/ remote_ branch ” 无法以承诺方式解决的“ 来源/ 远程- branch ” ?
如果您收到此消息, 您必须首先完成git fetch origin
何 地origin
是运行前的远程仓库的名称git checkout remote_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 fetch origin
检索到我们尚未安装的远程分支, 以跟踪本地机器 。 从那里, 因为我们现在有一个 ref 到远程分支, 我们就可以运行git checkout remote_branch
我们会从远程追踪中受益
主题说明:与现代基特()1.6.6),您可以使用
git checkout test
(请注意“测试”不是“原产/测试”)DWIM DEWIM DEWIM DEWIM DEWIM DEWIM DEWIM DEWIM DEWIM DEWIM DIWIM DEWIM DIWIM DIWWM DI DIWIM DI DIWIM DI DIWIM DI DIWM DIWIM DI DIWM DI DI DIWIM DI DI DIWM-为您创建本地的“测试”分支, 上游是远程跟踪分支“ 源/ 测试 ” 。
缩略* (no branch)
内git branch
输出是指您在未命名的分支上, 即所谓的“ 列列 HEAD ” 状态( HEAD 指点直接承诺, 而不是某些本地分支的象征性引用) 。 如果您在这个未命名的分支上做了一些承诺, 您总是可以在当前承诺中创建本地分支 :
git checkout -b test HEAD
评论意见中建议的一种更现代的方法:
@Dennis:
git checkout <non-branch>
,例如,git checkout origin/test
产生独立的总部领导/未命名分支,而git checkout test
或git checkout -b test origin/test
地方分支的成果test
(与远程跟踪处一起)origin/test
计为上游上游- 贾库布·纳拉斯基14日8: 17
重点强调git checkout origin/test
git 检出 -b "Branch_name" [B 意指创建本地分支]
git 分支-all
git 检出 -b “您的分支名称”
git 分支分支
git 拖拉源 "您的分支名称"
从母版分支向 dev 分支成功退出
获得新创建的分支
git fetch
要切换到另一个分支
git checkout BranchName
答案已经分割, 取决于是否配置了一个远程仓库或多个。 原因是对于单个远程案例, 某些命令可以简化, 因为模糊性较小 。
Git 2. 23 更新:旧版本见结尾部分。
在这两种情况下,先从远程仓库获取,以确保您下载了所有最新修改。
$ git fetch
这将为您获取所有远程分支。 您可以看到可用以检查的分支 :
$ git branch -v -a
...
remotes/origin/test
开始于树枝的树枝remotes/*
可被视为只读取远程分支的复制件 。 要在分支上工作, 您需要从分支中创建本地分支 。 这是与 Git 命令一起完成的 。switch
(自 Git 2.23 以来, 通过给它提供远程分支的名称( 减去远程名称) :
$ git switch test
在此情况下, Git 是在猜测 (可以使用--no-guess
),您正试图用相同的名字检查和跟踪远程分支。
如果存在多个远程存储库,则需要明确指定远程存储库的名称。
与之前一样, 从获取最新的远程更改开始 :
$ git fetch origin
这将为您获取所有远程分支。 您可以看到可用以检查的分支 :
$ git branch -v -a
手边有远程树枝 现在需要查看您感兴趣的树枝-c
创建一个新的本地分支 :
$ git switch -c test origin/test
欲了解更多关于使用的信息git switch
:
$ man git-switch
我还为您创建了下面的图像, 以便分享差异, 看看如何获取工作, 以及拉动有什么不同:
git switch
在此之前,在Git 2.23中加上git checkout
用于交换分支。
仅使用一个远程仓库退出 :
git checkout test
如果有多个已配置的远程仓库, 它会变长一点
git checkout -b test <name of remote>/test