Why does git branch -d act differently after the clone?

advertisements

I created a simple repository. If i create a new branch from master and commit some changes and then delete it with

git branch -d neuerTestBranch

I'll get a error:

error: The branch 'neuerTestBranch' is not fully merged.

I like that error, it reminds me, that i forgot to merge. However, if i don't delete this branch and clone the Repository somewhere else, i don't get the error anymore. When i delete the branch now, i get this message:

warning: deleting branch 'neuerTestBranch' that has been merged to
'refs/remotes/origin/neuerTestBranch', but not yet merged to HEAD.

And the Branch is deleted right away.

Why does git branch -d acts differently after a clone? Is this behavior maybe a Bug? Is it possible to force a behavior like the first in cloned repositories, too?

I use 'git version 2.5.0.windows.1'.


This is because in the clone, the branch is deemed as a remote branch ; so Git expects that it will be merged on the repository where it was created.

The warning when attempting to delete the branch on the cloned directory is because the original repository might have been deleted.