git - 如何 `git fetch`默认分支

标签 git

我正在编写一个通用脚本,它从一组远程存储库中获取一些分支,我希望它只获取一些 分支。对于大多数分支,这很容易,因为它们是按名称指定的,我可以编写相应的 refspec,但我还没有找到获取“默认分支”的方法。

我试图将 git fetch 传递给 refs/heads/HEAD:MY/LOCAL/BRANCH 形式的 refspec,但它告诉我:

fatal: couldn't find remote ref refs/heads/HEAD

如何在 refspec 中指定“默认分支”?目前,我只是对 master 进行硬编码,但当然这只适用于那些坚持默认设置的存储库。

最佳答案

refs/heads/HEAD

它只是HEAD,甚至不是refs/HEAD。所以命令应该是

git fetch origin HEAD:MY/LOCAL/BRANCH

您可以使用以下方式查看可用的引用资料

git ls-remote origin

只查看HEAD:

git ls-remote origin HEAD

请参阅 https://git-scm.com/docs/git-ls-remote 上的文档和 https://git-scm.com/docs/gitrevisions

关于git - 如何 `git fetch`默认分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65362985/

相关文章:

git - Azure Jenkins 管道 : Bad Pack Header Build Failures During Azure Web App Publish Stage

django - Azure 部署未在 repo 中获取 SSL 证书

Git pull 内容而不影响本地文件更改,反之亦然

git - 修复后如何应用被拒绝的帅哥?

ruby-on-rails - 推送到 Heroku 时无法从远程存储库读取(Rails 教程 5)

git - 具有多种服务和独特版本控制的 Mono Repository

Git:如何以其他人的身份提交?

git - 在没有远程服务器的情况下使用 Git 进行协作

Git 和 Github 工作流程,使用父级更改更新子树

git - 巡航控制和 Git : "Source control operation has timed out." error