611

我正在Windows 上试用 Git。我到了尝试“git commit”的地步,但出现了这个错误:

终端是哑的,但没有定义 VISUAL 或 EDITOR。请使用 -m 或 -F 选项提供消息。

所以我发现我需要一个名为 EDITOR 的环境变量。没问题。我将其设置为指向记事本。这几乎奏效了。默认提交消息在记事本中打开。但记事本不支持裸换行。我出去买了Notepad++,但我不知道如何将 Notepad++ 设置为%EDITOR%它可以按预期与 Git 一起使用。

我没有嫁给记事本++。在这一点上,我不介意我使用什么编辑器。我只想能够在编辑器中输入提交消息,而不是在命令行(使用-m)。

那些在 Windows 上使用 Git 的人:你用什么工具来编辑你的提交消息,你必须做什么才能让它工作?

4

36 回答 36

605

2015 年 9 月更新(6 年后)

git-for-Windows (2.5.3)的最新版本现在包括:

通过配置git config core.editor notepad,用户现在可以notepad.exe用作他们的默认编辑器
配置git config format.commitMessageColumns 72将由记事本包装器拾取,并在用户编辑提交消息后对其进行换行。

请参阅Johannes Schindelin ( )提交 69b301bdscho

并且 Git 2.16(2018 年第一季度)将显示一条消息,告诉用户它在生成编辑器时正在等待用户完成编辑,以防编辑器打开到隐藏窗口或模糊的地方而用户迷路。

请参阅提交 a64f213(2017年 11 月 29 日)由Lars Schneider ( )提交 a64f213 (2017 年 12 月 7 日) 。 帮助者:Junio C Hamano ( )(由Junio C Hamano 合并——提交 0c69a13中,2017 年 12 月 19 日)larsxschneider
gitster
gitster

launch_editor(): 表示 Git 等待用户输入

当图形GIT_EDITOR由打开并等待用户输入的 Git 命令生成(例如“ git rebase -i”)时,编辑器窗口可能会被其他窗口遮挡。
用户可能会盯着原始的 Git 终端窗口,甚至没有意识到他/她需要在 Git 继续之前与另一个窗口交互。对于这个用户,Git 似乎挂起。

如果终端支持擦除最后一行,则在原始终端中打印 Git 正在等待编辑器输入的消息,并在编辑器返回时将其删除


原始答案

我刚刚用 git 版本 1.6.2.msysgit.0.186.gf7512 和 Notepad++5.3.1 测试了它

我宁愿不必设置 EDITOR 变量,所以我尝试了:

git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\""
# or
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\" %*"

这总是给出:

C:\prog\git>git config --global --edit
"c:\Program Files\Notepad++\notepad++.exe" %*: c:\Program Files\Notepad++\notepad++.exe: command not found
error: There was a problem with the editor '"c:\Program Files\Notepad++\notepad++.exe" %*'.

如果我定义一个 npp.bat 包括:

"c:\Program Files\Notepad++\notepad++.exe" %*

我输入:

C:\prog\git>git config --global core.editor C:\prog\git\npp.bat

它只适用于 DOS 会话,但不适用于 git shell
(不是 core.editor 的配置机制,带“ start /WAIT...”的脚本是不行的,只能打开一个新的 DOS 窗口)


Bennett 的回答提到了避免添加脚本的可能性,而是在简单的引号之间直接引用程序本身。注意斜线的方向!使用/NOT\分隔路径名中的文件夹!

git config --global core.editor \
"'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

或者,如果您在 64 位系统中:

git config --global core.editor \
"'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

但我更喜欢使用脚本(见下文):这样我就可以使用不同的路径或不同的选项,而无需再次注册git config.


实际的解决方案(使用脚本)是要意识到:
您在配置文件中引用的实际上是一个 shell ( /bin/sh) 脚本,而不是 DOS 脚本。

那么起作用的是:

C:\prog\git>git config --global core.editor C:/prog/git/npp.bat

C:/prog/git/npp.bat

#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"

或者

#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"

使用该设置,我可以git config --global --edit从 DOS 或 Git Shell 执行 ' ',或者我可以git rebase -i ...从 DOS 或 Git Shell 执行 ' '。
Bot 命令将触发 notepad++ 的新实例(因此有-multiInst' 选项),并等待该实例关闭后再继续。

请注意,我只使用'/',而不是\'。我使用选项 2 安装了 msysgit。(将git\bin目录添加到PATH环境变量,但没有覆盖一些内置的 windows 工具)

notepad++ 包装器被称为 .bat 的事实并不重要。
最好将其命名为“npp.sh”并将其放在[git]\cmd目录中(或放在 PATH 环境变量引用的任何目录中)。


也可以看看:


lightfire228在评论中添加:

对于任何遇到 N++ 只打开一个空白文件而 git 不接受您的提交消息的问题的人,请参阅“ Aborting commit due to empty message ”:将您的.bator.sh文件更改为:

"<path-to-n++" .git/COMMIT_EDITMSG -<arguments>. 

这将告诉 notepad++ 打开临时提交文件,而不是一个空白的新文件。

于 2009-04-21T18:34:54.007 回答
327

基于Darren 的回答,要使用 Notepad++,您可以简单地执行此操作(全部在一行上):

git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

显然,该C:/Program Files/Notepad++/notepad++.exe部分应该是系统上 Notepad++ 可执行文件的路径。例如,它可能是C:/Program Files (x86)/Notepad++/notepad++.exe.

它对我来说就像一个魅力。

文章How to set Notepad++ as the default Git editor for the commits instead of Vim解释了命令的参数。

于 2009-09-16T04:48:39.503 回答
53

无论如何,我一直在玩这个,发现以下内容对我很有效:

git config --global core.editor "'C:/Program Files/TextPad 5/TextPad.exe' -m"

我认为 CMD 不喜欢单引号,因此您必须使用双引号“指定嵌入空格的字符串参数”。

另一方面,Cygwin(我相信它是 Git 的 Bash 的底层平台)同时'喜欢"; 您可以指定类似 CMD 的路径,使用/而不是\,只要字符串被引用,即在这种情况下,使用单引号。

覆盖/指示使用-m多个编辑器,并且不需要%*在最后添加。

于 2009-07-05T10:46:18.873 回答
28

编辑:更新到 Vim 7.3 后,我得出的结论是,最干净和最简单的方法是:

  1. 将 Vim 的主文件夹添加到您的路径(右键单击我的电脑属性高级环境变量

  2. 运行这个:

    git config --global core.editor "gvim --nofork '%*'"
    

如果你这样做,那么我相当肯定它也适用于 Cygwin。

原答案:

即使有几个与 Vim 相关的答案,我也无法在 Windows 下使用 gVim(而不使用批处理文件或 %EDITOR% 或 Cygwin)。

我最终得出的结论是干净整洁,并借鉴了这里的一些解决方案:

git config --global core.editor \
"'C:/Program Files/Vim/vim72/gvim.exe' --nofork '%*'"

我花了一段时间的一个问题是这些不是 Windows 风格的反斜杠。它们是正常的正斜杠。

于 2011-01-10T22:02:12.710 回答
16

Notepad++ 工作得很好,虽然我选择坚持使用记事本、-m,甚至有时是内置的“编辑”。

您在使用 Notepad++ 时遇到的问题与 Git 如何启动编辑器可执行文件有关。我对此的解决方案是将环境变量设置EDITOR为批处理文件,而不是实际的编辑器可执行文件,它执行以下操作:

start /WAIT "E:\PortableApps\Notepad++Portable\Notepad++Portable.exe" %*

/WAIT告诉命令行会话暂停直到应用程序退出,因此您将能够在 Git 愉快地等待您的同时编辑您心中的内容。%* 将所有参数传递给批处理文件到 Notepad++。

C:\src> echo %EDITOR%
C:\tools\runeditor.bat
于 2008-08-14T03:18:32.830 回答
12

写字板

我很高兴使用 Vim,但由于我试图将 Git 介绍给公司,所以我想要我们都拥有的东西,并发现写字板似乎工作正常(即 Git 确实等到你完成编辑并关闭窗户)。

git config core.editor '"C:\Program Files\Windows NT\Accessories\wordpad.exe"'

那是在 msysgit 上使用 Git Bash;我没有尝试过 Windows 命令提示符(如果这有什么不同的话)。

于 2010-08-06T09:37:00.710 回答
11

对于Atom你可以做

git config --global core.editor "atom --wait"

Visual Studio Code类似

git config --global core.editor "code --wait"

这将打开一个AtomVisual Studio Code窗口供您提交,

崇高文本

git config --global core.editor "subl -n -w"
于 2016-10-06T15:46:28.207 回答
10

我也在 Windows 上使用 Cygwin,但使用 gVim(而不是基于终端的Vim)。

为了完成这项工作,我做了以下工作:

  1. git_editor.bat创建了一个包含以下内容 的单行批处理文件(名为):"C:/Program Files/Vim/vim72/gvim.exe" --nofork "%*"
  2. 放在git_editor.bat我的PATH.
  3. GIT_EDITOR=git_editor.bat

完成此操作后git commit, 等将正确调用 gVim 可执行文件。

注意 1:--noforkgVim 的选项确保它在提交消息被写入之前一直阻塞。

注意 2:如果路径中有空格,则需要在 gVim 路径周围加上引号。

注意 3:如果 Git 传递带有空格的文件路径,则需要在 "%*" 周围加上引号。

于 2009-10-15T19:28:15.843 回答
9

感谢 Stack Overflow 社区……以及一些研究,我能够让我最喜欢的编辑器 EditPad Pro作为核心编辑器在 Windows XP SP3 上使用 msysgit 1.7.5.GIT 和 TortoiseGit v1.7.3.0。 ..

按照上面的建议,我为代码编辑器添加了 Bash 脚本的路径......

git config --global core.editor c:/msysgit/cmd/epp.sh

然而,在对上述解决方案进行了几次失败的尝试之后......我终于能够让它工作了。根据 EditPad Pro 的文档,添加 '/newinstance' 标志将允许 shell 等待编辑器输入......

' /newinstance '标志是我案例的关键......

#!/bin/sh
"C:/Program Files/JGsoft/EditPadPro6/EditPadPro.exe" //newinstance "$*"
于 2011-09-26T00:54:56.867 回答
7

这是更大问题的一个症状。值得注意的是,您有一些设置TERM=dumb。其他无法正常工作的less命令是表示您没有功能齐全的终端的命令。

这似乎最常见的原因是在全局 Windows 环境变量中将 TERM 设置为某个值。对我来说,当我安装Strawberry Perl时出现了这个问题,一些关于这个问题的信息是关于这个问题的 msysgit 错误以及几个解决方案。

第一个解决方案是在您的 ~/.bashrc 中添加以下内容来修复它:

export TERM=msys

您可以从 Git Bash 提示符执行此操作,如下所示:

echo "export TERM=msys" >> ~/.bashrc

另一个解决方案,最终是我所做的,因为我不关心 Strawberry Perl 添加到我的环境设置的原因,是按照 msysgit bug report 的评论中的指示TERM=dumb删除。TERM=dumb

控制面板/系统/高级/环境变量...(或类似,取决于您的 Windows 版本)是在 Windows 上设置粘性环境变量的位置。默认情况下,未设置 TERM。如果在那里设置了 TERM,那么您(或您已安装的程序之一 - 例如 Strawberry Perl)已设置它。删除该设置,你应该没问题。

同样,如果您使用 Strawberry Perl 并关心CPAN客户端或类似的东西,您可以不理会它TERM=dumbunset TERM在您的 ~/.bashrc 文件中使用它,这将具有与如上所述设置显式术语类似的效果。

当然,所有其他解决方案都是正确的,因为您可以使用它git config --global core.editor $MYFAVORITEEDITOR来确保 Git 在需要为您启动一个编辑器时使用您最喜欢的编辑器。

于 2011-07-08T14:44:27.650 回答
7

编辑 c:\Users\YourUser 文件夹中的 .gitconfig 文件并添加:

[core]
editor = 'C:\\Program files\\path\\to\\editor.exe'
于 2017-01-13T14:39:55.153 回答
6

Vim/gVim很适合我。

>echo %EDITOR%

c:\Vim\Vim71\vim.exe
于 2008-08-14T14:39:14.887 回答
6

我需要执行以下两项操作才能让 Git 在 Windows 中启动 Notepad++:

  • 将以下内容添加到 .gitconfig:

    editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin
    
  • 修改启动 Git Bash shell 的快捷方式以管理员身份运行,然后使用该快捷方式启动 Git Bash shell。我猜测上下文菜单条目“Git Bash here”没有以所需的权限启动 Notepad++。

完成上述两项后,它起作用了。

于 2018-10-29T15:15:15.637 回答
5

我的 PortableGit 1.6 工作正常,但升级到 PortableGit 1.7 Windows 版本后,我遇到了问题。一些 Git 命令可以很好地打开 Notepad++.exe,但有些不能,尤其是Git rebase的行为不同。

问题是一些命令运行 Windows cmd 进程,而一些使用 Unix cmd 进程。我想给记事本++编辑器提供启动属性,所以我需要一个自定义的脚本。我的解决方案是这样的。

  1. 创建一个脚本来运行适当的文本编辑器。该脚本看起来很奇怪,但它同时处理了 Windows 和 Unix 变体。

    c:/PortableGit/cmd/git-editor.bat

    #!/bin/sh
    # Open a new instance
    
    function doUnix() {
      "c:\program files\notepad++\notepad++.exe" -multiInst -nosession -notabbar $*
      exit
    }
    
    doUnix $*
    
    :WINCALL
    "c:\program files\notepad++\notepad++.exe" -multiInst -nosession -notabbar %*
    
  2. 设置全局 core.editor 变量

    该脚本已保存到 git/cmd 文件夹,因此它已经在 gitconsole 路径中。这是强制性的,因为完整路径可能无法正常工作。

    git config --global core.editor "git-editor.bat"
    

现在我可以运行git commit -agit rebase -i master命令。如果您在 Git Windows 工具中遇到问题,请尝试一下。

于 2010-04-06T09:36:53.073 回答
5

我在多个平台上使用 Git,我喜欢在所有平台上使用相同的 Git 设置。(事实上​​,我所有的配置文件都在 Git 的发布控制之下,并在每台机器上放置了一个 Git 存储库克隆。)我想出的解决方案是这样的:

我将编辑器设置为giteditor

git config --global core.editor giteditor

然后我在我的PATH中创建一个名为giteditor的符号链接。(我有一个个人bin目录,但PATH中的任何位置都可以。)该链接指向我当前选择的编辑器。在不同的机器和不同的平台上,我使用不同的编辑器,所以这意味着我不必更改我的通用 Git 配置(.gitconfig),只需更改 giteditor指向的链接。

符号链接由我所知道的每个操作系统处理,尽管它们可能使用不同的命令。对于 Linux,您使用ln -s。对于 Windows,您使用cmd内置mklink。它们有不同的语法(你应该查一下),但它们的工作方式都是一样的,真​​的。

于 2013-06-10T13:01:15.550 回答
5

根据VonC 的 建议,这对我有用(让我发疯):

git config --global core.editor "'C:/Program Files (x86)/Sublime Text 3/subl.exe' -wait"

省略-wait可能会导致问题,尤其是当您使用Gerrit并更改必须手动复制到提交消息底部的 ID 时。

于 2016-05-11T17:04:00.660 回答
3

我在 Windows 上使用Cygwin ,所以我使用:

export EDITOR="emacs -nw"

-nw是为了no-windows,即告诉 Emacs 不要尝试使用X Window

Emacs 键绑定在 Windows shell 中对我不起作用,所以我只会在 Cygwin shell 中使用它...(推荐使用rxvt。)

于 2009-07-06T11:50:28.653 回答
3

这是我使用Geany作为 Git 编辑器的设置:

git config --global core.editor C:/path/to/geany.bat

包含以下内容geany.bat

#!/bin/sh
"C:\Program Files\Geany\bin\Geany.exe" --new-instance "$*"

它可以在 DOS 控制台和 msysgit 中运行。

于 2010-09-29T08:51:54.683 回答
2

我很难让 Git 与WordPadKomodo Edit以及我给它的几乎所有其他编辑器合作。大多数打开编辑,但 Git 显然不会等待保存/关闭发生。

作为拐杖,我一直在做

git commit -m "Fixed the LoadAll method"

保持事情的进展。它倾向于使我的提交消息比它们应该的要短一些,但显然在 Windows 版本的 Git 上还有一些工作要做。

GitGUI 也没有那么糟糕。它需要一点方向,但在那之后,它工作得相当好。

于 2008-08-14T01:57:55.007 回答
2

如果路径中有空格,似乎 Git 找不到编辑器。因此,您必须将帕特里克回答中提到的批处理文件放入非空白路径中。

于 2009-03-12T19:27:28.013 回答
2

我更喜欢使用 Emacs。设置它可能有点棘手。

  1. 下载 Emacs 并将其解压缩到c:\emacs.
  2. 运行c:\emacs\bin\addpm.exe。如果您使用的是 Windows Vista 或更高版本,则需要右键单击并“以管理员身份运行”。这会将可执行文件放在您的路径中。
  3. 在文件(server-start)中的某处添加。.emacs请参阅Emacs Windows 常见问题解答以获取有关将.emacs文件放置在何处的建议。
  4. git config --global core.editor emacsclientw

Git 现在将在现有的 Emacs 进程中打开文件。您必须从c:\emacs\bin\runemacs.exe.

于 2010-07-23T15:32:49.963 回答
1

我刚刚遇到同样的问题并找到了不同的解决方案。我得到

error: There was a problem with the editor 'ec'

我有VISUAL=ec,并且在我的路径上调用了一个批处理文件ec.bat,其中包含一行:

c:\emacs\emacs-23.1\bin\emacsclient.exe %*

这让我可以从命令行编辑文件ec <filename>,并且VISUAL设置意味着大多数 unixy 程序也可以使用它。不过,Git 搜索路径的方式似乎与我的其他命令不同——当我查看进程监视器git commit时,我看到它在路径上的每个文件夹中查找 for和 for ,但不是 for 。我添加了另一个环境变量 ( ),一切都很好。ecec.exeec.batGIT_EDITOR=ec.bat

于 2009-09-04T15:55:51.810 回答
1

我设法通过使用引号和设置 EDITOR 变量来使环境版本正常工作/

EDITOR="c:/Program Files (x86)/Notepad++/notepad++.exe"
于 2011-01-25T11:33:42.413 回答
1

我正在使用 GitHub for Windows,这是一个不错的视觉选择。但我也更喜欢命令行,所以当我在 Git shell 中打开存储库时,为了让它工作,我只需设置以下内容:

git config --global core.editor vim

效果很好。

于 2015-02-07T19:08:25.430 回答
1

这适用于 PowerShell 和cmder 1.2(与 PowerShell 一起使用时)。在文件中~/.gitconfig

[core]
    editor = 'c:/program files/sublime text 3/subl.exe' -w

如何让 Sublime Text 成为 Git 的默认编辑器?

于 2015-08-01T02:48:22.913 回答
1

我在这里找到了一个非常简单的解决方案- 尽管您必须复制作者给出的“subl”文件的路径可能存在错误。

我正在运行 Windows 7 x64,我必须将“subl”文件放在我的/Git/cmd/文件夹中才能使其工作。

不过,它就像一个魅力。

于 2015-10-27T12:42:33.827 回答
1

Atom 和 Windows 10

  1. 我右键单击桌面上的 Atom 图标,然后单击属性。

  2. 复制了“开始于”位置路径

  3. 用 Windows 资源管理器查看那里并找到“atom.exe”。

  4. 我在 Git Bash 中输入了这个:

    git config --global core.editor C:/Users/YOURNAMEUSER/AppData/Local/atom/app-1.7.4/atom.exe"
    

注意:我全部更改\/. 我在我的主目录中创建了一个 .bashrc 并用于/设置我的主目录并且它有效,所以我认为/这将是要走的路。

于 2016-06-01T02:10:00.660 回答
1

添加崇高git config --global core.editor "'C:\Program Files\Sublime Text 3\sublime_text.exe'"

于 2020-12-18T10:49:47.150 回答
1

GIT_EDITOR我使用变量和notepad2编辑器解决了类似的问题。

解决方案 1:将环境变量设置GIT_EDITORC:/tools/notepad2.exe. 这很好用,但是如果提交消息包含非 ASCII 字符,git 会抱怨。

解决方案 2:设置GIT_EDITORC:/tools/notepad2.exe //utf8. 注意程序开关前面的双斜杠。顺便说一句:-utf8本来也可以。

于 2021-07-26T08:56:26.523 回答
0

当使用远程安装的 homedrive(Samba共享、NFS、...)时,您的~/.git文件夹在所有系统之间共享,这可能会导致一些问题。因此,我更喜欢使用脚本来为正确的系统确定正确的编辑器:

#!/usr/bin/perl
# Detect which system I'm on and choose the right editor
$unamea = `uname -a`;
if($unamea =~ /mingw/i){
    if($unamea =~ /devsystem/i){#Check hostname
        exec('C:\Program Files (x86)\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
    if($unamea =~ /testsystem/i){
        exec('C:\Program Files\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
}
$MCEDIT=`which mcedit`;
if($MCEDIT =~ /mcedit/){
    exec($MCEDIT, @ARGV);
}
$NANO=`which nano`;
if($NANO =~ /nano/){
    exec($NANO, @ARGV);
}
die "You don't have a suitable editor!\n";

人们可能会考虑一个普通的 shell 脚本,但我使用的是 Perl,因为它是随 msysgit 一起提供的,而你的类 Unix系统通常也会提供一个。将脚本放入/home/username/bin,应将其添加到PATHin.bashrc.profile. 添加后git config --global core.editor giteditor.pl,无论您身在何处,您都拥有合适的编辑器。

于 2011-08-23T15:55:52.370 回答
0

这对我使用 Cygwin 和TextPad 6 有效(编辑:只要您对脚本进行明显更改,它也适用于 TextPad 5),并且大概该模型也可用于其他编辑器:

文件~/.gitconfig

[core]
    editor = ~/script/textpad.sh

文件~/script/textpad.sh

#!/bin/bash

APP_PATH=`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`
FILE_PATH=`cygpath -w $1`

"$APP_PATH" -m "$FILE_PATH"

这个单线也适用:

文件~/script/textpad.sh(选项 2):

"`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`" -m "`cygpath -w $1`"
于 2012-10-15T16:22:43.187 回答
0

这对我有用:

  1. 将包含编辑器可执行文件的目录添加到PATH变量中。(例如"C:\Program Files\Sublime Text 3\"
  2. 重新启动计算机。
  3. 将core.editor全局 Git 变量更改为不带扩展名 “.exe”的编辑器可执行文件的名称(例如 git config --global core.editor sublime_text)

就是这样!

注意: Sublime Text 3 是我在这个例子中使用的编辑器。

于 2014-01-15T02:00:05.043 回答
0

这是 Cygwin 的解决方案:

#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
  1. 如果没有路径,则不传递路径

  2. 如果路径为空,则传递空路径

  3. 如果路径不为空,则转换为 Windows 格式。

然后我设置这些变量:

export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
  1. EDITOR 允许脚本与 Git 一起工作

  2. GIT_EDITOR 允许脚本使用Hub 命令

来源

于 2016-12-24T17:19:55.300 回答
0

那些在 Windows 上使用 Git 的人:你用什么工具来编辑你的提交消息,你必须做什么才能让它工作?

我发现在 WindowsLinux中作为git 编辑器通用代码编辑器最有用的工具是Sublime Text 3。它工作得非常好,但需要一些设置才能让它恰到好处,所以我在这里完整地记录了这一点:

关于我的主编辑器的旁注:对于大型项目,我使用 Eclipse 作为我的主编辑器,并使用 Sublime Text 3 作为我的 git 编辑器和附加文件编辑器,当我需要使用它的高级功能时,例如多光标模式、垂直/列选择模式等。对于中小型项目,我只使用 Sublime Text 3。有关 Eclipse 的设置说明,请在此处查看我的 PDF 文档

于 2020-05-23T05:09:48.327 回答
0

假设您想将VsCode配置为您的编辑器。请执行下列操作:

将以下行添加到您的.gitconfig文件中:

文件的默认位置.gitconfigC:\Users\USER_NAME\.gitconfig

[core]
  editor = code -w -n
[diff]
  tool = vscode
[difftool "vscode"]
  cmd = code -w -n --diff $LOCAL $REMOTE
[merge]
  tool = vscode
[mergetool "vscode"]
  cmd = code -w -n $MERGED

笔记:

  • -w是强制性的,并告诉git等待vscode加载。
  • -n是可选的,并告诉在新窗口git中打开vscode 。

如果您想在 Windows 中配置编辑器的自定义路径:

您需要将单词替换codeVsCode 的“.exe”路径

例如:

[core]
  editor = "'C:/Users/Tal/AppData/Local/Programs/Microsoft VS Code/Code.exe'" -w -n
[diff]
  tool = vscode
[difftool "vscode"]
  cmd = "'C:/Users/Tal/AppData/Local/Programs/Microsoft VS Code/Code.exe'" -w -n --diff $LOCAL $REMOTE
[merge]
  tool = vscode
[mergetool "vscode"]
  cmd = "'C:/Users/Tal/AppData/Local/Programs/Microsoft VS Code/Code.exe'" -w -n $MERGED

笔记:

  • 您需要用单引号 ''将路径括起来。
  • 路径中的斜杠应该是正斜杠 /

或者另一个例子:

[core]
    editor = \"C:\\Users\\Tal\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" -w -n

[diff]
    tool = vscode
[difftool "vscode"]
    cmd = \"C:\\Users\\Tal\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" -w -n --diff $LOCAL $REMOTE

[merge]
    tool = vscode
[mergetool "vscode"]
    cmd = \"C:\\Users\\Tal\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" -w -n $MERGED
于 2022-02-20T08:47:14.200 回答
-1

我只是直接使用TortoiseGit。它与我的PuTTY公钥完美地集成在一起。

它有一个完美的提交消息编辑器。

于 2012-06-10T12:13:32.797 回答