如何检出远程分支 git?

4

我和我的团队成员正在同一个代码库上工作。有人从主分支创建了一个名为test_01的分支,对其进行了修改,提交并推送到test_01分支,然后将其合并到主分支。与此同时,主分支也发生了一些更改。现在,我想要切换到test_01分支,以便我可以写入

 git checkout test_01 

我遇到了一个git的错误:路径规范“test_01”与git中已知的任何文件都不匹配。


检查test_01是否仍然存在于git中,如果不存在,您可以恢复此分支。 - Derrick
它存在于远程仓库中,但本地没有这个分支。 - Drop Shadow
可能是如何检出远程Git分支?的重复问题。 - Jaysheel Utekar
1个回答

11

在执行 git fetch 后,使用以下命令检查远程跟踪分支列表:

git branch -avv

如果您看到origin/test_01,则git checkout test_01应该有效,因为它相当于:
git checkout -b <branch> --track <remote>/<branch>

或者,自 Git 2.23+,2019年第3季度:

git switch <branch>

(通过其 "猜测模式",这将与 git switch -c <branch> --track <remote>/<branch> 相同)
但由于它不起作用,很可能是其他开发人员在本地将 test_01 分支合并到了 master,只有 master 被推送。
您可以尝试查找未命名分支合并到 master 的提交:参见 "查找包含特定提交的合并提交。"

1
谢谢,这对我有用,但最初的fetch是关键,否则会出现“未匹配任何文件”的错误。一旦你做了fetch,就能按照你所指示的正确跟踪检出分支。 - rjcarr
1
这就是做法...就像有人说的那样,将git fetch添加为第一条语句,使其更加完整!谢谢@vonc! - Goran B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接