Git - 为什么我收到错误“subl -n -w:subl:command not found”?

时间:2015-07-02 13:39:54

标签: git

每次当我将dev分支与我的本地分支合并时,我都会收到以下错误:

subl -n -w: subl: command not found
error: There was a problem with the editor 'subl -n -w'.
Not committing merge; use 'git commit' to complete the merge

即使Sublime Text已关闭,我也会收到此错误但是我不确定它是否在抱怨Sublime。有谁知道如何避免或修复此错误?

3 个答案:

答案 0 :(得分:2)

您的git编辑器配置不正确。您在配置git编辑器时必须提供完整路径。

对于 Sublime text 3 ,请使用以下命令 -

git config --global core.editor " 'C:/program files/sublime text2/sublime_text.exe' -n -w" 

如果您有 Sublime text 2 ,请使用以下命令 -

.wrap:hover .rectangle{
  opacity:0.5;
}
.wrap:hover .rectangle:hover{
  opacity: 1;
}

答案 1 :(得分:1)

老问题,但我想我会为未来的读者投入。以上答案是有效的,但不解释发生了什么。

当您运行git commitgit merge命令时,git会尝试查找在mac上的.bash_profile(或其等效的Windows)中配置的文本编辑器,并尝试打开编辑器,以便用户可以输入与提交相关联的消息。当它试图打开文本编辑器而无法找到它时,它会抛出错误。有两种方法可以解决此错误:

  • 检查"别名的路径"或核心编辑并按照上述说明进行修改。
  • 或者,您可以使用-m选项完成提交。例如。 git commit -m "YOUR_COMMIT_MESSAGE_HERE",从而绕过了打开文本编辑器以输入提交消息的需要。

答案 2 :(得分:-1)

查找其特定于工具的问题...运行以下命令以查看已配置的合并工具(命令显示所有配置设置,签出类似merge.tool = xyz ...)

git config --list

似乎git无法访问该工具。您可以尝试设置不同的工具或修复路径等。使用以下命令设置新工具

git config --global merge.tool <newtoolvalue>

(系统范围和用户特定设置分别存储在文件/ etc / gitconfig和/usr/home/.gitconfig中。即,当您使用--global或--system选项时。)您可以使用{{1取消设置值。