在Windows 10机器上,配置好的git-bash打开的编辑器是Notepad ++。如果在我运行任何需要打开编辑器的git命令(从Windows上的git-bash)时打开notepad ++,则git会在Notepad ++的现有实例中打开该临时文件,但git不会等待。我认为它曾经是。发生了什么?结果是它将继续使用打开的文件中的任何默认内容。在git rebase -i <commit-spec>
的情况下,由于指定壁球的内容从未更改,因此不会造成任何危害。在git commit
的情况下,由于没有注释要输入,因此提交被取消。如果您尝试编辑该文件并以任何方式保存它,则会收到一条消息,指出该文件无法保存。 (这是因为git在读回默认内容并对其进行处理之后已经删除了该文件。)是否有配置设置告诉git使用Notepad ++的新实例?
答案 0 :(得分:0)
这是我发现有效的方法:
编辑您的Global .gitconfig文件,在[core]部分中,确保editor关键字如下所示:
editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin
这里的要点是我们想要一个新实例(-multiInst),并且由于我们不想在此Notepad ++实例中打开其他内容,因此我们也禁止显示标签栏(-notabbar),以防止出现从以前的会话(-noSession)中打开任何文件,而不必再加载插件(-noPlugin)。
也要注意,它将使用=后面的所有内容,因此引号仅在exe周围出现,并且不包括选项。您正试图告诉外壳程序exe的路径是什么,并且由于其中有空格,因此需要使用引号(或撇号)。
希望这可以帮助其他遇到相同问题的人。
答案 1 :(得分:0)
在 Windows
上使用此命令git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe' -nosession -notabbar"