linux - 如何将 Sublime Text 3 正确配置为 git 提交消息的默认文本编辑器?

标签 linux git sublimetext3

我正在学习如何在 Windows 上使用 Ubuntu CLI 来执行诸如 git 命令之类的东西,到目前为止一切都运行顺利。然而,我唯一的提示是,无论何时打开 ST3 的实例以获取提交消息,都会打开第二个选项卡,这在某种程度上破坏了流程。

最初,我将 ST3 设置为文本编辑器所做的是将以下行附加到 .gitconfig 文件:

[core]
    editor = /mnt/c/Program\\ Files/Sublime\\ Text\\ 3/subl.exe `wslpath.sh -w $PWD/.git/COMMIT_EDITMSG` -nw

注意:“wslpath.sh -w”对于那些熟悉 Cygwin 函数的人来说类似于 cygpath,因为它将 Unix 格式的目录转换为适用于 Windows。

我想阻止 this additional tab每次我提交更改时打开,只有 the window for editing messages出现:

screenshot of editor

最佳答案

您不应该将文件的路径添加到命令中。 Git 会把它作为自己的命令的参数。

因此 `wslpath.sh -w $PWD/.git/COMMIT_EDITMSG` 不应作为 core.editor 命令集的一部分。

您的命令依赖于打开文件 COMMIT_EDITMSG,当 git 尝试打开文件以编辑 merge 提交消息、交互式 rebase todo 文件或编辑带注释的标记消息时,该命令将无法正常工作等。提交消息不是唯一通过文件完成编辑的地方。

附加选项卡(如屏幕截图所示)似乎是因为该文件实际上在结果命令中列出了两次:一次来自 core.editor 配置变量,第二次git commit 的时间。

关于linux - 如何将 Sublime Text 3 正确配置为 git 提交消息的默认文本编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49342561/

相关文章:

git - 如何在git服务器上查询git日志?

git - 如何从 HomeBrew 中删除浅克隆警告

sublimetext2 - 通过 Sublime API 在侧边栏中右键单击获取文件夹路径

keyboard-shortcuts - 如何在 Mac 中为 Sublime Text 移动队列?

linux - grep 需要一些帮助

c++ - 打开 FIFO(命名管道)卡住 - 忽略 SIGINT、SIGTERM

c - Linux 系统调用何时触发段错误与返回 EFAULT?

python - 在我的 python 项目中使用我自己的模块的最佳方式

sublimetext3 - 为什么 Sublime 的 EJS 突出显示在我的简单循环中变得疯狂?

linux - 在 Linux 中重命名目录中的多个文件