如何删除远程Git存储库上的HEAD分支?

巴勃罗

这是服务器上的远程Git存储库

[aaa@web48 proj.git]$ git ls-remote .
dfca707432eb53678b37026b160a4bdc7f1ac6c3    HEAD
dfca707432eb53678b37026b160a4bdc7f1ac6c3    refs/heads/master
1e09c37443ee758644a712e3c1a8b08b18a1f50d    refs/heads/placeholder

我想删除HEAD / master分支。如何在服务器上或远程执行此操作?我正在使用Tower客户端。

用户456814

如果远程分支当前是默认的HEAD分支,则无法删除

HEAD远程裸仓库中符号引用表示该仓库的默认分支。该仓库的所有非裸露克隆都将在克隆之后自动检出该分支。

因为它是默认设置,所以您不能像通常那样删除它,Git不会让您:

$ git push origin --delete master

remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error:
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: error: current branch, with or without a warning message.
remote: error:
remote: error: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
To c:/Users/Keoki/Documents/GitHub/bare
 ! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to 'c:/Users/Keoki/Documents/GitHub/bare'

上面的错误消息指出,您HEAD仍然可以绕过安全检查来删除远程站点中的当前分支,但是我将向您展示如何更改默认分支,以便您仍可以保留默认分支,但master可以按照自己的意愿删除

从命令行更改默认的HEAD分支

如果可以访问远程仓库,可以更改远程仓库中默认分支的内容如果您使用的是GitHub或Bitbucket之类的托管服务提供商,则应允许您通过其Web界面更改默认分支。

因此,如果您有权访问遥控器,请使用以下命令更改符号引用HEAD指向的分支

git symbolic-ref HEAD refs/heads/<newDefaultBranch>

更改GitHub或Bitbucket上的默认HEAD分支

正如我在上一节中已经提到的,HEAD如果您使用托管提供(例如GitHub或Bitbucket),则可以通过Web界面更新远程仓库中的默认分支。

的GitHub

转到存储库的“设置”标签,您将在顶部看到默认的分支设置,

GitHub设置

比特桶

进入仓库的“设置”标签,您会在中间附近看到默认的分支设置,

位桶设置

将本地克隆的引用更新为远程服务器中的默认分支

一旦更新了远程裸仓库中的默认分支,就需要更新该仓库的本地克隆认为HEAD远程中的默认分支指向的位置。你可以这样做

git remote set-head <remote> --auto

# Or shorter
git remote set-head <remote> -a

您可以使用以下方法确认本地存储库已正确更新

$ git branch -r
  origin/HEAD -> origin/foo
  origin/foo
  origin/master

现在您可以删除遥控器上的master分支

现在,您已将HEAD远程服务器上的默认分支更改为不同于master分支,然后就可以将其删除了,

$ git push origin --delete master

To c:/Users/Keoki/Documents/GitHub/bare
 - [deleted]         master

# Older syntax
$ git push origin :master

其他参考资料和文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何删除远程裸存储库分支上的提交?

来自分类Dev

Git-远程分支分支的存储库

来自分类Dev

在git中的远程存储库上创建私有分支

来自分类Dev

找出谁在远程git存储库上创建了分支

来自分类Dev

从本地恢复远程存储库上的所有 git 分支

来自分类Dev

如何在我的本地存储库之前修复 Git 上的远程分支而不进行拉取

来自分类Dev

如何删除github上的远程存储库?

来自分类Dev

如何找到远程git存储库的默认分支?

来自分类Dev

如何查看远程git存储库中的所有分支

来自分类Dev

如何从远程 git 存储库检查(分支或标签)?

来自分类Dev

Git:如何删除远程分支?

来自分类Dev

Git存储库丢失了其远程分支?

来自分类Dev

本地删除的分支不会在远程存储库上删除

来自分类Dev

如何防止用户从远程git存储库中删除提交

来自分类Dev

如何防止用户从远程git存储库中删除提交

来自分类Dev

如何从远程存储库正确签出分支

来自分类Dev

如何使用Git删除远程分支?

来自分类Dev

如何删除远程git commit HEAD?

来自分类Dev

如何在不使用jgit签出的情况下在远程存储库中创建git分支

来自分类Dev

如何从特定用户的 git 远程存储库中获取所有分支

来自分类Dev

GIT 删除远程源存储库,并更改默认存储库

来自分类Dev

git从远程存储库中拉出所有分支

来自分类Dev

如果在本地分支上,我应该如何将该存储库从已存在的本地存储库推到远程?

来自分类Dev

如何将本地git存储库中的所有远程分支转换为本地跟踪分支

来自分类Dev

如何删除名称为远程/起源的localhost上的旧git分支

来自分类Dev

将终端主机上的git master分支附加到主文件夹并将GitHub上的存储库删除后,如何删除呢?

来自分类Dev

如何在Windows上的python中删除git存储库

来自分类Dev

如何删除克隆的git存储库上的标签?

来自分类Dev

如何从命令行(Git Bash)删除远程Git存储库?

Related 相关文章

  1. 1

    如何删除远程裸存储库分支上的提交?

  2. 2

    Git-远程分支分支的存储库

  3. 3

    在git中的远程存储库上创建私有分支

  4. 4

    找出谁在远程git存储库上创建了分支

  5. 5

    从本地恢复远程存储库上的所有 git 分支

  6. 6

    如何在我的本地存储库之前修复 Git 上的远程分支而不进行拉取

  7. 7

    如何删除github上的远程存储库?

  8. 8

    如何找到远程git存储库的默认分支?

  9. 9

    如何查看远程git存储库中的所有分支

  10. 10

    如何从远程 git 存储库检查(分支或标签)?

  11. 11

    Git:如何删除远程分支?

  12. 12

    Git存储库丢失了其远程分支?

  13. 13

    本地删除的分支不会在远程存储库上删除

  14. 14

    如何防止用户从远程git存储库中删除提交

  15. 15

    如何防止用户从远程git存储库中删除提交

  16. 16

    如何从远程存储库正确签出分支

  17. 17

    如何使用Git删除远程分支?

  18. 18

    如何删除远程git commit HEAD?

  19. 19

    如何在不使用jgit签出的情况下在远程存储库中创建git分支

  20. 20

    如何从特定用户的 git 远程存储库中获取所有分支

  21. 21

    GIT 删除远程源存储库,并更改默认存储库

  22. 22

    git从远程存储库中拉出所有分支

  23. 23

    如果在本地分支上,我应该如何将该存储库从已存在的本地存储库推到远程?

  24. 24

    如何将本地git存储库中的所有远程分支转换为本地跟踪分支

  25. 25

    如何删除名称为远程/起源的localhost上的旧git分支

  26. 26

    将终端主机上的git master分支附加到主文件夹并将GitHub上的存储库删除后,如何删除呢?

  27. 27

    如何在Windows上的python中删除git存储库

  28. 28

    如何删除克隆的git存储库上的标签?

  29. 29

    如何从命令行(Git Bash)删除远程Git存储库?

热门标签

归档