Git不再在记事本上等待++;在继续之前完成一个文件
在我的Windows10机器上,我为GitBash配置的编辑器是Notepad++。如果在我运行任何需要打开编辑器的git命令(从windows上的gitbash)时notepad++处于打开状态,git将在现有notepad++实例中打开临时文件,但git不会等待。我想过去是这样的。怎么搞的?结果是,它将继续处理它打开的文件中的任何默认内容。对于Git不再在记事本上等待++;在继续之前完成一个文件,git,notepad++,git-bash,Git,Notepad++,Git Bash,在我的Windows10机器上,我为GitBash配置的编辑器是Notepad++。如果在我运行任何需要打开编辑器的git命令(从windows上的gitbash)时notepad++处于打开状态,git将在现有notepad++实例中打开临时文件,但git不会等待。我想过去是这样的。怎么搞的?结果是,它将继续处理它打开的文件中的任何默认内容。对于git-rebase-i,由于指定提交给挤压的内容从未更改,因此不会造成任何伤害。对于git提交,由于不需要输入任何注释,因此提交将被取消。如果您试图
git-rebase-i
,由于指定提交给挤压的内容从未更改,因此不会造成任何伤害。对于git提交
,由于不需要输入任何注释,因此提交将被取消。如果您试图编辑文件并保存它,您会收到一条消息,说明无法保存该文件。(这是因为git在读回默认内容并进行处理后已经删除了该文件。)是否有配置设置来告诉git使用记事本++的新实例?以下是我发现的有效方法:
编辑Global.gitconfig文件,在[core]部分,确保编辑器关键字如下所示:
editor='C:/Program Files/Notepad++/Notepad++.exe'-multiInst-notabbar-nosession-noPlugin
这里的要点是我们需要一个新实例(-multiInst),因为我们不想在这个Notepad++实例中打开其他东西,所以我们还禁止显示选项卡栏(-notabbar),防止它打开上一个会话中的任何文件(-noSession),并且不必加载插件(-noPlugin)
还要注意的是,将使用=之后的所有内容,因此引号仅围绕exe,不包括选项。您试图告诉shell exe的路径是什么,因为其中有空格,所以需要引号(或撇号)
希望这能帮助其他有同样问题的人。以下是我发现的有效方法: 编辑Global.gitconfig文件,在[core]部分,确保编辑器关键字如下所示:
editor='C:/Program Files/Notepad++/Notepad++.exe'-multiInst-notabbar-nosession-noPlugin
这里的要点是我们需要一个新实例(-multiInst),因为我们不想在这个Notepad++实例中打开其他东西,所以我们还禁止显示选项卡栏(-notabbar),防止它打开上一个会话中的任何文件(-noSession),并且不必加载插件(-noPlugin)
还要注意的是,将使用=之后的所有内容,因此引号仅围绕exe,不包括选项。您试图告诉shell exe的路径是什么,因为其中有空格,所以需要引号(或撇号)
希望这能帮助其他有同样问题的人。将此命令用于Windows
git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe' -nosession -notabbar"
对窗口使用此命令
git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe' -nosession -notabbar"
听起来像是notepadd++的问题。Git将等待它调用的进程放弃控制(通常,当它结束时)。。。如果进程正在分离,git对此无能为力。如果kate运行的实例更多,我也会遇到同样的情况。也许这就是问题所在?所以我需要一些方法来告诉Notepad++启动一个新实例,这可能是一个命令行参数,可以插入到我的gitconfig中。是时候在记事本++文档中进行更多搜索了,除非其他任何人都知道这一点。我想我找到了记事本++命令行选项:-multiInst:启动另一个记事本++实例,这样用户就可以同时拥有多个记事本+。我正在.gitconfig[core]editor='C:/Program Files/Notepad++/Notepad++.exe-multiInst'中尝试这一点,听起来像是Notepad++的问题。Git将等待它调用的进程放弃控制(通常,当它结束时)。。。如果进程正在分离,git对此无能为力。如果kate运行的实例更多,我也会遇到同样的情况。也许这就是问题所在?所以我需要一些方法来告诉Notepad++启动一个新实例,这可能是一个命令行参数,可以插入到我的gitconfig中。是时候在记事本++文档中进行更多搜索了,除非其他任何人都知道这一点。我想我找到了记事本++命令行选项:-multiInst:启动另一个记事本++实例,这样用户就可以同时拥有多个记事本+。我正在.gitconfig[core]editor='C:/ProgramFiles/Notepad++/Notepad++.exe-multiInst'中尝试此操作