如何停止git合并提示信息每次我执行git pull时都弹出?

4

为什么每次执行git pull后都会弹出git合并提示信息?我100%确定没有任何内容需要合并。

这很烦人,有人知道如何停止它吗?

enter image description here


“我百分之百确定没有任何合并操作。” 为什么?你没有未推送的提交吗? - Biffen
@Hexaholic:我尝试了所有的答案,似乎都没有起作用。 - code-8
@rangerover.js,你能展示一下 git status 的输出吗? - Biffen
如果现在我执行 git status 命令,会得到以下输出:位于分支 master 您的分支已经与 'origin/master' 同步。 工作区干净,没有需要提交的修改。 - code-8
显示剩余3条评论
2个回答

7
为什么每次我执行 git pull 命令后,都会弹出一个 git 合并提示信息?这是因为 git pull 实际上是一个 fetch 加上 merge 操作,而默认的合并行为是自动提交结果。您可以使用 --no-edit 选项来避免编辑器,并自动生成提交消息。此时,您将得到一个自动生成的提交消息。

1
如果我没有记错,这意味着无法进行快进合并。通常情况下,这是因为主分支中存在一些提交,而这些提交在远程主分支(或您正在拉取/合并的任何分支)中不存在。
在这种情况下,在 git-pull 完成后的历史记录会像下面这样:
                       origin/master
                       |
-- A -- B -- C -- D -- E
              \
               +-- D'
                   |
                   master

为了将变更 D 和 E 引入本地主分支,git 需要引入一个合并提交 M(它记录父提交并解决潜在的合并冲突),这就是为什么它要求您输入一条消息的原因。
合并后的历史记录如下图所示:
                       origin/master
                       |
-- A -- B -- C -- D -- E
              \         \
               +-- D' -- M 
                         |
                         master

这是我所知道的默认行为。然而,git-pull文档表示:

--no-edit选项可用于接受自动生成的消息(通常不建议这样做)。

免责声明: 我现在没有可用的git来测试它 :(

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接