gpt4 book ai didi

git checkout 远程引用

转载 作者:太空狗 更新时间:2023-10-29 12:52:43 24 4
gpt4 key购买 nike

我在 github 上有一个 pull 请求列表。我可以像这样获取 pull 请求:

git fetch origin +refs/pull/*:refs/remotes/origin/pr/*

我得到这样的输出:

* [new ref]         refs/pull/1/head -> origin/pr/1/head
* [new ref] refs/pull/1/merge -> origin/pr/1/merge
* [new ref] refs/pull/10/head -> origin/pr/10/head
* [new ref] refs/pull/10/merge -> origin/pr/10/merge
* [new ref] refs/pull/11/head -> origin/pr/11/head
* [new ref] refs/pull/11/merge -> origin/pr/11/merge

现在我想检查其中一个引用文献。我尝试的任何方法似乎都不起作用:

$ git checkout refs/pull/1/head
error: pathspec 'refs/pull/1/head' did not match any file(s) known to git.

或者:

git checkout origin/pr/1/head
error: pathspec 'origin/pr/1/head' did not match any file(s) known to git.

如何检查此引用资料?

最佳答案

第一个命令 (git checkout refs/pull/1/head) 不起作用,因为 refs/pull/1/head 是引用的名称远程存储库。您在本地存储库中没有使用该名称的引用,因为您的 fetch refspec 将其转换为 refs/remotes/origin/pr/1/head

第二个命令 (git checkout origin/pr/1/head) 应该有效,尽管它应该给你一个“分离的 HEAD”警告。在将问题发布到 Stack Overflow 时,您是否修正了拼写错误?

您的fetch refspec 告诉git 将远程引用转换为refs/remotes 目录中的本地引用。该目录中的引用被特殊对待——它们是“远程引用”,表示您上次执行 fetch 时远程存储库的状态。通常您不想直接检查那些引用——您想创建一个配置为“跟随”或“跟踪”远程引用的本地分支(它启用特殊的便捷快捷方式,例如 @{u } 修改参数和更简单的 push/pull 用法)。

尝试:

git fetch origin +refs/pull/*:refs/remotes/origin/pr/*
git checkout -b whatever-branch-name-you-want origin/pr/1/head

上面创建了一个名为 whatever-branch-name-you-want 的新本地分支(我建议称它为 pr/1/head)指向同一个提交作为origin/pr/1/head,配置whatever-branch-name-you-want来跟踪origin/pr/1/head,然后切换到新分支。

关于git checkout 远程引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13638235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com