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

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


当前回答

命令命令

git fetch --all
git checkout -b <ur_new_local_branch_name> origin/<Remote_Branch_Name>

等于

 git fetch --all

时和时

 git checkout -b fixes_for_dev origin/development

两者将创建开发中的最新修正_for_ dev

其他回答

tl; dr , tl; dr

使用 git 开关而不是 git 检出。 更多详情请见此页面 。

我认为答案已经过时。 git 将一些退票功能分割为切换和现在恢复 。

以下是我的总结:

如果您想要为远程分支更新一些内容, 您应该创建一个本地分支以“ 跟踪” 远程分支。 您可以在本地更新任何您想要更新的内容, 并最终推到远程 。 如果您在克隆您的仓库后直接检查到远程分支, 您可能会看到“ 标记头” 状态, 并从 git 中看到以下信息 :

Note: switching to 'origin/asd'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at d3e1083 Update a

如何建立本地分支跟踪远程分支?

要创建本地分支以跟踪远程分支, 您可以使用 git checkout & lt; remote 分支名 & gt; 或 git 开关 &lt; remote 分支名 & gt; 。 如果您有一个文件或文件夹与您的远程分支名有相同名称, git checkout 会输出一些错误消息, 但是 git 开关通常可以正常工作 。

例如:

查看所有分支, 我们想要创建一个本地分支, 以跟踪远程分支遥控器/ 原发/ ass 。 我们也有一个文件名称 : $ git 分支 - a * 主遥控器/ 原发/ 头发- & gt; 原发/ 主遥控器/原发/ 原发/ 远地/ 原发/ 原发/ 原发/ zxc $ 。 以文件名和文件名相同 。 如果我们使用 Git 检查命令创建本地分支以跟踪远程分支 $ git 检查结果, git 则应该输出一些错误信息 。

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

git 检查退出测试, 无效

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

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

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

当Git退房 xxx解释,

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

侧注: 使用现代 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 检出来源/ 测试为重点

git 远程显示 & lt; 原始名称 & gt; 命令将列出所有分支( 包括未跟踪的分支) 。 然后您可以找到要获取的远程分支名称 。

例如:

git remote show origin

使用这些步骤获取远程分支 :

git fetch <origin name> <remote branch name>:<local branch name>
git checkout <local branch name > (local branch name should the name that you given fetching)

例如:

git fetch origin test:test
git checkout test

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