【问题标题】:How to checkout remote branch git?如何签出远程分支git?
【发布时间】:2016-10-23 05:01:32
【问题描述】:

我和我的团队成员正在开发同一个存储库。有人从 master 创建了一个名为 test_01 的分支,对此进行了处理并提交,推送到 test_01 并合并到 master。与此同时,一些提交是在 master 中完成的。现在我想签出 test_01 以便我写

 git checkout test_01 

并得到一个 git 错误:pathspec 'test_01' 与 git 知道的任何文件都不匹配。

【问题讨论】:

标签: git github git-checkout


【解决方案1】:

git fetch 之后,检查远程跟踪分支的列表:

git branch -avv

如果您看到origin/test_01git checkout test_01 应该可以工作,因为它相当于:

git checkout -b <branch> --track <remote>/<branch>

或者,因为Git 2.23+, Q3 2019

git switch <branch>

(通过其“guess mode”,与git switch -c &lt;branch&gt; --track &lt;remote&gt;/&lt;branch&gt;相同)

但是由于它不起作用,很可能test_01分支被其他开发者本地合并到master,并且只推送了master

您可以尝试查找合并到master 的未命名分支的提交:参见“Find merge commit which include a specific commit”。

【讨论】:

  • 谢谢,这对我有用,但最初的 fetch 是秘密,否则你会得到 did not match any file 错误。但是,一旦您执行fetch,您就可以按照您的指示使用正确的跟踪来签出分支。
  • 这是怎么做的......就像有人说的那样,添加git fetch作为第一条语句,很好地完成了这个!谢谢@vonc!
猜你喜欢
  • 2010-12-19
  • 1970-01-01
  • 2015-09-26
  • 1970-01-01
  • 2021-03-07
  • 1970-01-01
  • 2018-12-22
相关资源
最近更新 更多