如何删除Git本地分支和远程分支

我们今天介绍一下删除远程 git 分支的步骤。一起来看一下吧。

删除 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 的输出结果。我们把这个结果分解来看:

  • remotes:指远程服务器上的存储库(如 GitLab、Gitea 或 GitHub);
  • origin:系统中远程仓库的别名;
  • HEAD:默认分支,如果没有指定分支,则 clone 该分支。

如上所述,上述代码中第 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 分支

在 git branch 命令后使用 -d(或者 -D 表示强制删除)选项可用于删除本地分支,就算加上 -r 参数无法删除远程仓库分支,也只能删除本地远程分支。(说起来有点拗口,你自己试试就知道,使用fetch又会回来的)

但是要删除远程仓库中的分支,使用 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分支

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'

如上所示,当我们尝试删除主分支的时候,抛出了一个错误,删除失败。也就是说,(一般情况下)主分支无法删除。

 

出处:https://www.51cto.com/article/721304.html

=======================================================================================

Git命令删除本地和远程仓库分支

切换到master分支

git checkout master

查看已有的本地及远程分支

git branch -a

删除远程分支

git push origin --delete dev

删除后,再次查看分支情况

git branch -a

删除本地分支

git branch -d dev

远程分支和本地分支删除完毕

当我想从远程仓库里拉取一条本地不存在的分支时:

git checkout -b 本地分支名 origin/远程分支名

这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。

例如远程仓库里有个分支dev2,我本地没有该分支,我要把dev2拉到我本地:

若成功,将会在本地创建新分支dev2,并自动切到dev2上。

如果出现提示:

fatal: Cannot update paths and switch to branch 'dev2' at the same time.
Did you intend to checkout 'origin/dev2' which can not be resolved as commit?

表示拉取不成功。我们需要先执行

git fetch

然后再执行

git checkout -b 本地分支名 origin/远程分支名

即可。

 

 

出处:https://www.cnblogs.com/caozhengze/p/11268293.html

=======================================================================================

如何删除git远程分支

1,在开发过程中,大家在远程创建了许多分支,有些是无用的,该如何删除呢,可以参考下面的方法。

如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放 
稳定代码的地方),可以用这个非常无厘头的语法来删除它:git push  [远程名] :[分支名]。如果想在服务器上删 

除 serverfix 分支,运行下面的命令:

git push origin :serverfix  //等同于:git push origin --delete 分支
To git@github.com:schacon/simplegit.git
- [deleted] serverfix

咚!服务器上的分支没了。你最好特别留心这一页,因为你一定会用到那个命令,而且你很可能会忘掉它的
语法。有种方便记忆这条命令的方法:记住我们不久前见过的 git push [远程名] [本地分支]:[远程分支] 语法,如
果省略 [本地分支],那就等于是在说“在这里提取空白然后把它变成[远程分支]”。

注意origin后的空格+冒号+分支

文章来源:http://my.oschina.net/tsingxu/blog/84601

 

注:br是branch的简写

删除本地分支:git br -D 150611_api6_2_dev

批量删除本地分支:git br |grep chunyu |xargs git br -D

 

出处:https://www.cnblogs.com/diegodu/p/7111062.html

=======================================================================================

git本地同步远程已经删除的release分支

背景

因为分支管理,release/*是被保护的,除非是已经合并到master才会被删除。所以这个时候本地存在已经删除的releas/*分支。

此时会发现,怎么都删除不了这些保护分支。留着也没意思,该怎么做呢。

解决办法

 git remote prune origin

一发入魂。解决了强迫症~

 

出处:https://www.cnblogs.com/yinghualuowu/p/13186377.html

=======================================================================================

posted on 2023-04-20 16:05  jack_Meng  阅读(1495)  评论(0编辑  收藏  举报

导航