合并简单1 commit分支的极其简单的git / Github用例,导致分支删除失败

时间:2019-01-10 16:09:33

标签: git github

让我在开始我的问题时先说一下git是我25年来最困惑的事情。由于某种原因,我的心理障碍确实使我无法理解它。

我在本地和Github中都有一个“主”分支。

我创建了一个名为“ admin_tweaks”的本地分支。

我签出了“ admin_tweaks”。

我做了一些更改。

我把分支推到了原处。

我在github上创建了一个Pull Request。

Github表示没有冲突,可以自动完成与master的合并。所以我按下了按钮。

Github给了我这个信息:

Pull request successfully merged and closed
You’re all set—the admin_tweaks branch can be safely deleted.

在本地,我签出了master分支。我做了git pull

我看到我的更改下降了。

我尝试使用以下方法在本地删除“ admin_tweaks”分支:

git branch -d admin_tweaks

并收到以下非常令人困惑且令人担忧的消息:

warning: not deleting branch 'admin_tweaks' that is not yet merged to
     'refs/remotes/origin/admin_tweaks', even though it is merged to HEAD.
error: The branch 'admin_tweaks' is not fully merged.
If you are sure you want to delete it, run 'git branch -D admin_tweaks'.

在这里我缺少健康的工作流程的哪一部分?对于我的更改已正确合并,我绝对没有信心。

1 个答案:

答案 0 :(得分:2)

此消息通常表示您的本地admin_tweaks尚未完全合并到origin/admin_tweaks中,或者似乎没有。将分支合并到master时,有时会收到此消息。这不是问题的迹象:消息确认您的分支已合并到HEAD中,这意味着您的拉取请求按预期工作。

git log --decorate --graph

应该向您展示为什么Git认为admin_tweaks没有合并到origin/admin_tweaks中。例如,这可能是由于origin/admin_tweaks在GitHub上接受拉取请求时被删除了。