有人将称为 Git 推力源测试的分支推向共享仓库 。 我可以看到有 git 分支 -r 的分支 。 我如何查看远程测试分支 ? 我试过 :
git 检出测试, 它不会给 git 检出源/ 测试提供任何结果 * (无分支)
有人将称为 Git 推力源测试的分支推向共享仓库 。 我可以看到有 git 分支 -r 的分支 。 我如何查看远程测试分支 ? 我试过 :
git 检出测试, 它不会给 git 检出源/ 测试提供任何结果 * (无分支)
当前回答
如果分支位于来源远程以外的某物上,我愿意做以下工作:
$ git fetch
$ git checkout -b second/next upstream/next
此选项将检查上游边远处的下一个分支, 到一个名为第二个/ 下一个的本地分支。 这意味着如果您已经拥有下一个命名为本地分支的分支, 就不会发生冲突 。
$ git branch -a
* second/next
remotes/origin/next
remotes/upstream/next
其他回答
在此情况下, 您可能想要创建一个本地测试分支, 跟踪远程测试分支 :
$ git branch test origin/test
在早期版本的 git 中, 您需要一个明确的 -- track 选项, 但是当您正在将远程分支分割出来时, 这是默认的 。
创建本地分支并切换到它,使用:
$ git checkout -b test origin/test
答案已经分割, 取决于是否配置了一个远程仓库或多个。 原因是对于单个远程案例, 某些命令可以简化, 因为模糊性较小 。
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 fetch origin 'remote_branch':'local_branch_name'
这将获取远程分支, 并创建一个新的本地分支( 如果尚未存在的话) , 名称为本地_ branch_ name , 并跟踪其中的远程分支 。
从远程获取并检查分支 。
git fetch <remote_name> && git checkout <branch_name>
例如:
git 获取来源 git 检出功能/xyz-1234 - 添加警报
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