首页 > 解决方案 > 自从我安装了 gited 以来,“git pull origin master”正在打开 emacs

问题描述

gited.el前段时间安装了,因为当我运行时git pull origin master,它会运行拉取,完成,然后打开 emacs。奇怪的是,它并不总是这样做,而且不是在每个文件夹中都这样做。

此外,它仅在有新更改被拉出时才会发生(因为分支不是最新的)。

任何人都知道为什么会发生这种情况?有什么gited可能触发这个吗?理想情况下,我希望它停止。

标签: gitemacs

解决方案


在 git 中预期在合并时启动编辑器的行为。如果拉取导致“真正的合并”(即来自上游的新提交未重新基于并且本地分支无法快进),则会在拉取时发生,因为它希望您编辑合并提交的提交消息在那个场景中创建。

我想可能已经改变的一件事是编辑器 git 启动的内容。在典型的安装中,默认是 的一些变体vi,但这可以配置。由于 gited 本质上是 git 的 emacs 集成,因此它可能已将您的 core.editor(或等效环境)值更改为 emacs 是合理的。

如果您可以确定此配置的设置位置,则可以将其更改回来。这也会影响您在手动提交时看到的编辑器等,因此您可能想要更改它,也可能不想更改。

但问题是,所有这些都假设在您现在获得 emacs 的情况下,您之前已经获得了一些编辑器。我认为这可能是真的,但你所说的表明你认为不是。

您之前可能没有看到这一点的一个原因是,如果您之前的配置方式是拉取从未生成的合并提交。例如,如果您pull.rebase设置为 true,则pull不会执行真正的合并,也不需要创建合并提交。也许在你安装 gited 的时候你的pull.rebase值改变了(虽然我不知道为什么 gited 会改变它)。

如果您想允许pull执行真正的合并,但不想看到编辑器,您可以指示 git 使用默认的合并提交消息而不提供编辑器

git pull --no-edit

推荐阅读