Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git不再在记事本上等待++;在继续之前完成一个文件_Git_Notepad++_Git Bash - Fatal编程技术网

Git不再在记事本上等待++;在继续之前完成一个文件

Git不再在记事本上等待++;在继续之前完成一个文件,git,notepad++,git-bash,Git,Notepad++,Git Bash,在我的Windows10机器上,我为GitBash配置的编辑器是Notepad++。如果在我运行任何需要打开编辑器的git命令(从windows上的gitbash)时notepad++处于打开状态,git将在现有notepad++实例中打开临时文件,但git不会等待。我想过去是这样的。怎么搞的?结果是,它将继续处理它打开的文件中的任何默认内容。对于git-rebase-i,由于指定提交给挤压的内容从未更改,因此不会造成任何伤害。对于git提交,由于不需要输入任何注释,因此提交将被取消。如果您试图

在我的Windows10机器上,我为GitBash配置的编辑器是Notepad++。如果在我运行任何需要打开编辑器的git命令(从windows上的gitbash)时notepad++处于打开状态,git将在现有notepad++实例中打开临时文件,但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'中尝试此操作