让我在开始我的问题时先说一下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'.
在这里我缺少健康的工作流程的哪一部分?对于我的更改已正确合并,我绝对没有信心。
答案 0 :(得分:2)
此消息通常表示您的本地admin_tweaks
尚未完全合并到origin/admin_tweaks
中,或者似乎没有。将分支合并到master时,有时会收到此消息。这不是问题的迹象:消息确认您的分支已合并到HEAD中,这意味着您的拉取请求按预期工作。
做
git log --decorate --graph
应该向您展示为什么Git认为admin_tweaks
没有合并到origin/admin_tweaks
中。例如,这可能是由于origin/admin_tweaks
在GitHub上接受拉取请求时被删除了。