有人将称为 Git 推力源测试的分支推向共享仓库 。 我可以看到有 git 分支 -r 的分支 。 我如何查看远程测试分支 ? 我试过 :
git 检出测试, 它不会给 git 检出源/ 测试提供任何结果 * (无分支)
有人将称为 Git 推力源测试的分支推向共享仓库 。 我可以看到有 git 分支 -r 的分支 。 我如何查看远程测试分支 ? 我试过 :
git 检出测试, 它不会给 git 检出源/ 测试提供任何结果 * (无分支)
当前回答
侧注: 使用现代 git ( & gt; = 1.6. 6) 您可以使用
git checkout test
(注意测试不是“原产/试验”) 执行神奇的dwim-mery 和为您创建本地分支“测试”, 而上游则是远程跟踪分支“原产/试验”。
在 Git 分支输出中的 * (没有分支) 表示您在未命名的分支上, 即所谓的“ 挂勾头 ” 状态( 直接承诺的头点, 而不是某些本地分支的象征性引用) 。 如果您在这个未命名的分支上做了一些承诺, 您总是可以在当前承诺中创建本地分支 :
git checkout -b test HEAD
评论中建议的一种更现代的方法:
@dennis: git check out<non-branch> 例如, git check out/ test 结果在独立头部/ 未命名分支中, 而 git check out test 或 git check out - b 测试源/ test 结果在本地分支测试中( 有远程跟踪分支来源/ 测试为上游) - Jakub narbski jan 9'14 at 8: 17
以 git 检出来源/ 测试为重点
其他回答
在此情况下, 您可能想要创建一个本地测试分支, 跟踪远程测试分支 :
$ git branch test origin/test
在早期版本的 git 中, 您需要一个明确的 -- track 选项, 但是当您正在将远程分支分割出来时, 这是默认的 。
创建本地分支并切换到它,使用:
$ git checkout -b test origin/test
要获得所有远程分支, 请使用这个 :
git fetch --all
然后检查到分支 :
git checkout test
侧注: 使用现代 git ( & gt; = 1.6. 6) 您可以使用
git checkout test
(注意测试不是“原产/试验”) 执行神奇的dwim-mery 和为您创建本地分支“测试”, 而上游则是远程跟踪分支“原产/试验”。
在 Git 分支输出中的 * (没有分支) 表示您在未命名的分支上, 即所谓的“ 挂勾头 ” 状态( 直接承诺的头点, 而不是某些本地分支的象征性引用) 。 如果您在这个未命名的分支上做了一些承诺, 您总是可以在当前承诺中创建本地分支 :
git checkout -b test HEAD
评论中建议的一种更现代的方法:
@dennis: git check out<non-branch> 例如, git check out/ test 结果在独立头部/ 未命名分支中, 而 git check out test 或 git check out - b 测试源/ test 结果在本地分支测试中( 有远程跟踪分支来源/ 测试为上游) - Jakub narbski jan 9'14 at 8: 17
以 git 检出来源/ 测试为重点
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
您可以开始跟踪所有远程分支, 使用以下制表单脚本 :
#!/bin/bash
git fetch --all
for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`
do git branch -f --track "$branch" "origin/$branch"
done
这里还有一个单行版本 :
git fetch --all; for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`; do git branch --track "$branch" "origin/$branch" ; done ;