首页 > 解决方案 > 为什么 git branch -D 不删除本地分支

问题描述

    $ git checkout -B test 
    $ # change anything
    $ git branch
    $  master
    $  * test
    $ git commit -am 'updated' 
    $ git checkout master 
    $ git branch
    $  * master
    $  test
    $ git branch -D test 
    $ git branch
    $  * master
    $ git checkout test 
    $ git branch
    $  master
    $  * test

为什么没有错误?类似错误:pathspec 'test' 与 git 已知的任何文件都不匹配

标签: git

解决方案


$ git branch -D test
$ git branch
$  * master

我们可以看到分支被删除了。下一条命令

$ git checkout test

从远程跟踪 ref重新创建分支origin/test。请参阅以下文档git checkout

如果<branch>未找到,但在一个远程(调用它)中确实存在一个<remote>具有匹配名称的跟踪分支,则视为等同于

$ git checkout -b <分支> --track <远程>/<分支>


推荐阅读