如果只有本地分支存在,则直接删除本地分支即可。如果本地分支和远程分支都存在,则先删除本地分支然后再删除远程分支。
删除本地分支
在git中,删除本地分支并不会影响远程仓库中的任何分支。
删除本地分支的命令:
git branch -d <local_branch>
先列出所有本地分支
D:\my_workspace\gitdemo>git branch
master
* test
可以看到现在本地有三个分支,当前在<test>这个分支上。接下来我们要删除这个分支,就得先切换到其他分支。
D:\my_workspace\gitdemo>git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
删除分支
D:\my_workspace\gitdemo>git branch -d test
Deleted branch test (was f7e0abe).
注意,如果分支包含未合并的更改和未推送的提交,则该 -d标志将不允许删除本地分支。此时,如果你确定了不想要分支的内容,可以使用 -D替换 -d来强制删除此分支
现在查看分支情况
D:\my_workspace\gitdemo>git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/test
此时我们已经成功删除了本地仓库<test>,但我们之前有推送过分支到远程仓库,从上面列表可知,远程仓库中还存在此分支,那我们还需要删除远程仓库中的分支。
删除远程分支
命令:
git push <remote_name> -d <remote_branch>
列出所有远程分支
D:\my_workspace\gitdemo>git branch -r
origin/HEAD -> origin/master
origin/master
origin/test
我们可以看到,此时远程仓库有<origin/master>和<origin/test>两个分支
D:\my_workspace\gitdemo>git push origin -d test
To https://codeup.aliyun.com/***/gitdemo.git
- [deleted] test
此时查看分支情况,远程分支已被删除
D:\my_workspace\gitdemo>git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master