删除 git 本地分支比较容易,分支可直接使用命令:
git branch -d
但是要删除一个远程的 git 分支,就不一样了,除远程我们今天介绍一下删除远程 git 分支的分支步骤。
要查看远程 git 仓库中的何删所有分支,可使用 -a 选项,除远程如下所示:
$ git branch -a
• master
dev
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/dev
上述是在 clone 的一个 dust 仓库中运行 git branch -a 的输出结果。我们把这个结果分解来看:
如上所述,除远程上述代码中第 4 行,分支 remotes/origin/HEAD -> origin/master,表示远程仓库默认的分支是 master 分支。
最后两行表示在远程仓库中有两个分支,即 master 和 dev。
另外一种查看远程仓库信息的方法是使用 git remote 命令,如下所示:
$ git remote show origin
• remote origin
Fetch URL:git@github.com:liugl/proj.git
Push URL:git@github.com:liugl/proj.git
HEAD branch: master
Remote branches:
master tracked
dev tracked
Local branches configured for 'git pull':
master merges with remote master
dev merges with remote dev
Local refs configured for 'git push':
master pushes to master (up to date)
dev pushes to dev (up to date)
git remote 命令的输出信息更加详细。这两个查看分支的命令,大家可以根据各自喜好和习惯来选择使用。
在 git branch 命令后使用 -d(或者 -D 表示强制删除)选项可用于删除本地分支。
但是要删除远程仓库中的分支,使用 git branch 命令是不起作用的。要删除远程 git 分支,还需要使用 git push 命令,如下语法所示:
$ git push origin --delete dev
To github.com:liugl/proj.git
• [deleted] dev
$ git branch -a
• master
dev
remotes/origin/HEAD -> origin/master
remotes/origin/master
如上删除中,使用 git push 命令删除远程 git 分支后,并没有删除本地分支。
HEAD 分支是默认分支的别名,在大多数存储库中,默认分支为 master 或者 main。
接下来我们尝试一下删除远程默认分支...
$ git branch -a
• master
dev
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/dev
$ git push origin --delete master
To github.com:liugl/proj.git
! [remote rejected] master (refusing to delete the current branch: refs/heads/master)
error: failed to push some refs to 'github.com:liugl/proj.git'
如上所示,当我们尝试删除主分支的时候,抛出了一个错误,删除失败。也就是说,(一般情况下)主分支无法删除。
责任编辑:庞桂玉 来源: TIAP git命令Linux(责任编辑:热点)
中国海油牵头签订国内最大规模液化天然气船舶建造项目 建造金额约160亿元
乐视网:贾跃亭质押股全部触及平仓线爆仓 10.24亿股被司法机关冻结
保险业综合偿付能力充足率连续8个季度持续下降 风险仍不容忽视