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

/ 默认分类 / 没有评论 / 1685浏览

删除本地分支

删除本地分支,可以使用下面任何一行命令,执行命令时不能在当前分支,比如希望删除test分支时,需要切换到master分支进行操作,否则会报错。

$ git branch -d branch_name
$ git branch -D branch_name

其中

-d 是--delete 的别名,它在删除之前会检查指定分支是否已经完全合并到源分支
-D 是--delete --force 的别名,它会立即删除指定分支,而不检查这个分支代码是否已经合并到源分支

下面是删除本地分支的一个演示,首先有master,然后切出test分支,test分支上有修改和commit,但是没有合并master,此时希望删除这个test分支,那么需要切换到master分支

hello-world (test) git branch
  master
* test
hello-world (test) git branch -d test
error: Cannot delete branch 'test' checked out at '/Users/think/web/fe/vue_04/hello-world'
hello-world (test) gco master
Switched to branch 'master'
hello-world (master) git branch -d test
error: The branch 'test' is not fully merged.
If you are sure you want to delete it, run 'git branch -D test'.
hello-world (master) git branch -D test
Deleted branch test (was 8b90b90).

删除远程分支

方式1:使用下面的命令,这样会直接删除远程test分支,本地test会继续保留

hello-world (master) git push origin :test
To http://192.168.1.2:7990/scm/demo/vue.git
 - [deleted]         test

也可以在push后面加-d或者--delete命令,效果是一样的,注意此时test前面不能加冒号

hello-world (test) git push -d origin test
To http://192.168.1.2:7990/scm/demo/vue.git
 - [deleted]         test

或者

hello-world (test) git push --delete origin test
To http://192.168.1.2:7990/scm/demo/vue.git
 - [deleted]         test