有人将称为 Git 推力源测试的分支推向共享仓库 。 我可以看到有 git 分支 -r 的分支 。 我如何查看远程测试分支 ? 我试过 :
git 检出测试, 它不会给 git 检出源/ 测试提供任何结果 * (无分支)
有人将称为 Git 推力源测试的分支推向共享仓库 。 我可以看到有 git 分支 -r 的分支 。 我如何查看远程测试分支 ? 我试过 :
git 检出测试, 它不会给 git 检出源/ 测试提供任何结果 * (无分支)
当前回答
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 开关 < remote 分支名 & gt; 。 如果您有一个文件或文件夹与您的远程分支名有相同名称, git checkout 会输出一些错误消息, 但是 git 开关通常可以正常工作 。
例如:
查看所有分支, 我们想要创建一个本地分支, 以跟踪远程分支遥控器/ 原发/ ass 。 我们也有一个文件名称 : $ git 分支 - a * 主遥控器/ 原发/ 头发- & gt; 原发/ 主遥控器/原发/ 原发/ 远地/ 原发/ 原发/ 原发/ zxc $ 。 以文件名和文件名相同 。 如果我们使用 Git 检查命令创建本地分支以跟踪远程分支 $ git 检查结果, git 则应该输出一些错误信息 。
其他回答
被接受的答案不为你工作?
第一个和选定答案在技术上是正确的,但您可能尚未从远程仓库中检索到所有对象和参考文献。 如果是这样,您将会收到以下错误:
$ 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 2.23 更新:旧版本见结尾部分。
一个远程
在两种情况下,先从远程仓库获取,以确保您下载了所有最新修改。
$ git fetch
这将为您获取所有远程分支。 您可以看到可用以检查的分支 :
$ git branch -v -a
...
remotes/origin/test
以远程/ * 开始的分支可被视为只读取远程分支的副本。 要在分支上工作, 您需要从它创建本地分支 。 这是用 git 命令开关( 自 git 2. 23) 完成的, 并给其以远程分支的名称( 减去远程名称 ) :
$ git switch test
在此情况下, git 猜测( 可以用 -- -- no- guesss 禁用) 您试图用相同的名称检查和跟踪远程分支 。
具有多个遥控器
如果存在多个远程存储库,则需要明确指定远程存储库的名称。
以获取最新的远程更改开始 :
$ git fetch origin
这将为您获取所有远程分支。 您可以看到可用以检查的分支 :
$ git branch -v -a
与手头的远程分支一起, 您现在需要检查您感兴趣的 - c 分支, 创建一个新的本地分支 :
$ git switch -c test origin/test
有关使用 git 开关的更多信息 :
$ man git-switch
我还创建了下面的图像, 供您分享差异, 查看如何获取作品, 以及拉动如何不同 :
调
Git 2. 23 前
git 开关在 git 2. 23 中添加, 之前用于切换分支 。
要退出仅使用一个远程仓库 :
git checkout test
如果有多个已配置的远程仓库, 它会变长一点
git checkout -b test <name of remote>/test
首先,你需要做:
如果您不知道分支名称, git 获取
git fetch origin branch_name
第二,您可通过下列方式检查远程分支进入本地 :
git checkout -b branch_name origin/branch_name
-b 将从选定的远程分支中以指定的名称创建新的分支。
我总是做:
git 获取来源 #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出
git 分支 -r 表示对象名称无效, 因为该分支名称不在 Git 的本地分支列表中。 从源头更新您的本地分支列表 :
git remote update
然后尝试再检查一下你的远程分支。
这是为我工作。
我相信在所有偏远的树枝里都会拉拉, 这并不是最初的海报所希望的。