我更愿意在Vim中编写提交消息,但它在Emacs中打开它们.
如何配置Git以始终使用Vim?请注意,我想在全球范围内执行此操作,而不仅仅是针对单个项目.
当我输入时git diff,我想用我选择的视觉差异工具(Windows上的SourceGear"diffmerge")查看输出.如何配置git来执行此操作?
在命令行中使用git时,我想知道是否可以使用Visual Studio Code作为默认编辑器,即在创建提交注释时,以及从命令行查看文件的差异.
我明白用它做合并是不可能的(至少在一分钟之内)但是有没有人知道是否有可能用它来查看差异,如果有的话,需要什么命令行选项.gitconfig文件来实现这一目标?
更新1:
我尝试过类似于我过去为Notepad ++所做的方法,即
#!/bin/sh
"c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
Run Code Online (Sandbox Code Playgroud)
用过:
#!/bin/sh
"C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*"
Run Code Online (Sandbox Code Playgroud)
但这会导致错误消息:
C:\temp\testrepo [master +1 ~0 -0]> git commit
[8660:0504/084217:ERROR:crash_reporter_win.cc(70)] Cannot initialize out-of-process crash handler
Aborting commit due to empty commit message.
C:\temp\testrepo [master +1 ~0 -0]>
Run Code Online (Sandbox Code Playgroud)
代码打开正确,具有预期的内容,但它没有等待响应,即单击保存并关闭窗口以返回提示.
更新2:
我刚从一位致力于VSCode的开发人员那里听到了回复.看起来目前不支持此功能:-(
https://twitter.com/IsidorN/status/595501573880553472
如果您有兴趣看到添加此功能,您可能需要考虑在此处添加您的投票:
更新3:
我已经可靠地获悉 VSCode团队已经接受了这个功能,所以我期待将来的版本包括它.
更新4:
感谢下面的@ f-boucheros评论,我已经能够让VS Code作为提交注释,rebase等的默认编辑器.我仍然希望看到是否可以将它用作diff工具.
更新5:
根据问题的接受答案,现在可以使用V1.0版本的代码.
我正在使用Windows,在提交之前,Git希望我输入一条短信,然后会出现一个新的文本窗口.

我怎么能退出这个?
我正在努力学习Git.所以,一点帮助将受到高度赞赏.
使用WinXP我意外地输入git commit -a而不是git commit -am "My commit message",现在我正在查看我的CMD提示符,其中填写了我的提交消息的文件版本("请输入您的提交消息...").我已将消息添加到顶部,但现在我无法弄清楚如何保存和离开.我试着按CTRL+ W+ Q,但它没有做什么,只是添加^光标所在的位置.
我esc先尝试过,然后是CTRL+ W+ Q,但它说No write since last change (add ! to override).
我将Sublime Text 2设置为core.editorwith时遇到问题git.
我已经阅读了我能找到解决问题的每一篇文章,但仍然没有任何对我有用.我正在运行Windows.
我已经做好了:
git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"
Run Code Online (Sandbox Code Playgroud)
并尝试过各种各样的论点-m.当我打开我的时候.gitconfig,这就是那里的东西:
[user]
name = Spencer Moran
email = smoran02@gmail.com
[core]
editor = 'C:/Program Files/Sublime Text 2/sublime_text.exe'
Run Code Online (Sandbox Code Playgroud)
如果我去Git并输入:
README.markdown --edit
Run Code Online (Sandbox Code Playgroud)
README文件在记事本中打开,而不是Sublime Text.
有谁知道我做错了什么或我怎么解决这个问题?
如何在msysgit中使用Notepad ++(或除vim之外的任何其他编辑器)?
我尝试了以下所有方面无济于事:
git config --global core.editor C:\Program Files\Notepad++\notepad++.exe
git config --global core.editor "C:\Program Files\Notepad++\notepad++.exe"
git config --global core.editor C:/Program Files/Notepad++/notepad++.exe
git config --global core.editor C:\\Program Files\\Notepad++\\notepad++.exe
Run Code Online (Sandbox Code Playgroud) 现在尝试学习GitHub并在nettuts上完成这个Git essentials教程.我正在做关于提交的课程.
老师打字git commit并打开VIM作为他的编辑(我也想知道如何在Sublime Text 2中打开它)无论如何它在VIM中打开我添加1行说这是我的第一次提交并点击保存.
然后它会提示我将输出保存到桌面,这是我在他的截屏视频中看不到的.现在我还在VIM,不知道如何回到'正常'终端:(
我无法理解,所以我只是退出终端并重新启动它,再次执行git并发出一些关于重复的警告消息!不知道如果我需要(E)edit反正或者(A)abort.
git状态

VIM

当我重新打开终端并再次执行git时消息

我是git的新手,所以我决定使用github的教程学习git.第三章说:
"对于第一个例子,我们将修改README文件以将自己添加为项目的作者.所以我们只需编辑文件.现在我们要提交更改,因此我们运行
git commit -a命令."
当我使用该git commit -a命令时,控制台打开一个vim,我写了我的消息,但我不知道如何从控制台关闭这个vim编辑器.如何保存邮件并关闭vim?
我计划将我的项目迁移到git,我现在想知道哪个是Windows下最好和/或最稳定的选项.
从我收集的内容我基本上有2.5个选项:
注意:IMO Cygwin本身就是一个很大的优势,因为你可以访问几乎所有的*nix命令行工具,就像使用MSYSgit bash一样,你只能访问这些工具的一小部分.
鉴于此,您会建议什么选择?
git ×10
vim ×5
editor ×2
msysgit ×2
commit ×1
cygwin ×1
default ×1
diff ×1
diffmerge ×1
difftool ×1
dvcs ×1
emacs ×1
git-commit ×1
git-config ×1
git-difftool ×1
notepad++ ×1
sublimetext ×1
terminal ×1
text-editor ×1
windows-xp ×1