为什么Git在Windows 7终端的Cygwin中有不同的配置?

时间:2014-11-20 15:49:09

标签: git windows-7 cygwin

我的印象是所有Git配置都在.git目录下的某个文本文件中。这似乎并非如此,因为我在core.editor中添加了一个Cygwin配置参数,告诉Cygwin中的Git在修改或压缩时要使用哪个文本编辑器:

git config --global core.editor "D:/homex/SFTWR/cygwin/bin/vi.exe"

我认为在常规Windows 7 Terminal(类似DOS的CLI)中使用Git时也会生效,这是可以的,因为vi可执行文件实际上可以在Cygwin之外的Windows中使用。 / p>

但是当我跑步时

git config --list

在Terminal中,core.editor变量没有出现。所有其他人都这样做了。所以Cygwin中的配置列表显示了30个变量,并且在终端29中。我认为如果配置保存在项目的.git目录中的某个文本文件中,那么对于每个接口,它应该是相同的。访问。

我的Git编辑器在两个界面都有效,这不是问题。我很好奇这个东西是如何工作的,以及为什么Cygwin和终端显示不同的配置。

1 个答案:

答案 0 :(得分:5)

可能是Cygwin / Windows正在使用两个单独的全局 .gitconfig文件。

您可以通过在Cygwin和Windows命令提示符中运行以下命令来确认正在使用的配置文件,并检查哪些文件已打开。

git config --global --edit

要解决此问题,您可以删除Cygwin主目录中的.gitconfig副本,并将其替换为Windows主目录中.gitconfig副本的硬链接。首先删除该文件,然后使用管理员权限打开cmd并运行:

mklink /H "C:\cygwin64\home\youruser\.gitconfig" "C:\Users\youruser\.gitconfig"

有关硬链接的更多详细信息,请访问:https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/