git - merge 简单1个提交分支的极其简单的git/Github用例导致分支删除失败

标签 git github

让我先声明一下我的问题:git 是我 25 年来使用过的最令人困惑的东西。由于某种原因,我有一个心理障碍,确实阻止了我理解它。

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

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

我查看了“admin_tweaks”。

我做了一些改变。

我将分支推送到原点。

我在 github 上创建了一个 Pull 请求。

Github表示没有冲突,可以自动 merge 到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'.

我在这里缺少健康工作流程的哪一部分?我对我的更改是否正确 merge 的信心绝对为零。

最佳答案

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

正在做

git log --decorate --graph

应该告诉你为什么 Git 认为 admin_tweaks 没有 merge 到 origin/admin_tweaks 中。例如,这可能是由于在 GitHub 上接受 pull 请求时删除了 origin/admin_tweaks

关于git - merge 简单1个提交分支的极其简单的git/Github用例导致分支删除失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54132679/

相关文章:

regex - 使用正则表达式的 Github 搜索

ruby - 如果在 git pull/merge 之后更新了 gemfile,如何自动运行 bundle install?

linux - 更改补丁中的文件名或编辑补丁以使补丁保持有效

git - 列出 git-ls-remote 时,为什么标签名称后有 "^{}"?

linux - 用 apache 运行 gitlab

git - 如何在 git 中将本地更改与远程存储库上的更改集成?

Laravel Spark - 无法连接到存储库

Git 钩子(Hook)预提交错误 : "command not found"

git - 如何将Git提交移动到另一个分支并在原始分支中删除它们?

github - GitHub 是否考虑将 .mailmap 用于贡献图