Git checkout - prefer分支over tag

ozxc1zmp  于 2023-04-04  发布在  Git
关注(0)|答案(1)|浏览(150)

假设有一个标签和一个分支具有相同的名称。
执行git checkout foo更倾向于检出标记,并使repo处于分离的head状态。
我怎么告诉git我想检查分支不是标签?
我在https://groups.google.com/g/git-users/c/FfzGmqj6sNQ中找到的一个建议是使用git checkout refs/heads/foo,但对我来说,这给出了一个错误:“pathspec与git已知的任何文件不匹配”。
以下是我的参考:

some_hash1 refs/remotes/origin/foo
some_hash2 refs/tags/foo

正如你所看到的,没有refs/heads/foo
尝试“git switch refs/remotes/origin/foo”,也会出现以下错误:“致命:需要一个分支,但得到了远程分支”。
我正在运行git 2.40.0
分支“foo”在GitHub Web UI中。

sshcrbum

sshcrbum1#

在这里找到答案:
https://www.git-tower.com/learn/git/faq/track-remote-upstream-branch

git checkout --track origin/foo

在此之后,git show-ref显示refs/heads下的本地分支foo

$ git show-ref | grep foo
some_hash1 refs/heads/foo
some_hash1 refs/remotes/origin/foo
some_hash2 refs/tags/foo

相关问题