为什么git不允许我安全删除分支?

Mat*_*ick 23 git merge branch

我需要合并两个分支 - second进入first然后摆脱second.这是我做的:

  • git cloned项目获得新的副本
  • git checkout --track origin/second,做了一些改变,并承诺
  • git checkout --track origin/first,做了一些改变,并承诺
  • git merge second (git说"通过递归合并")
  • git branch -d second

然后git说:

$ git branch -d second
warning: not deleting branch 'second' that is not yet merged to
         'refs/remotes/origin/second', even though it is merged to HEAD.
error: The branch 'second' is not fully merged.
If you are sure you want to delete it, run 'git branch -D second'.
Run Code Online (Sandbox Code Playgroud)

为什么会这样?合并之前我从未收到此消息.合并工作得很好,没有冲突.如何安全删除second分支?

Mat*_*ick 39

基于我的实验和@ knittl和@ twalberg的评论,似乎git只是希望我second在删除之前将我的更改推送到分支.

我做了:

$ git checkout second
$ git push origin second
$ git checkout first
$ git branch -d second
Run Code Online (Sandbox Code Playgroud)

在没有警告的情况下工作.