用于git config --global
设置时,它将写入哪个文件?
例子:
git config --global core.editor "blah"
我在这些地方找不到它:
C:\Program Files\Git\etc\gitconfig
C:\myapp\.git\config
我没有设置ENV?
我的 Git 版本:1.6.5.1.1367.gcd48 – 在 Windows 7 上
2016 年更新:使用 git 2.8(2016 年 3 月),您可以简单地使用:
git config --list --show-origin
使用 Git 2.26(2020 年第一季度),您可以添加一个--show-scope
选项
git config --list --show-origin --show-scope
您将看到哪个配置设置在哪里。
请参阅“我的 Git 配置中的设置来自哪里? ”
正如Stevoisiak在评论中指出的那样,
它将适用于非标准安装位置。(即Git 便携版)
(就像最新的一样PortableGit-2.14.2-64-bit.7z.exe
,可以在任何你想要的地方解压缩)
原始答案(2010)
从文档:
- 全球的
对于写入选项:写入全局
~/.gitconfig
文件而不是存储库.git/config
。
由于您使用的是Git for Windows,因此可能不清楚这对应于哪个位置。但是,如果您查看 etc/profile (in C:\Program Files\Git
),您会看到:
HOME="$HOMEDRIVE$HOMEPATH"
意义:
C:\Users\MyLogin
(在 Windows 7 上)
这意味着该文件C:\Users\MyLogin\.gitconfig
适用于 Windows 7 中的 Git。
我还在我的 Windows 机器上寻找全局.gitconfig
变量,并使用 git 发现了这个巧妙的技巧。
做一个:git config --global -e
然后,如果你幸运的话,你会得到一个加载了你的全局.gitconfig
文件的文本编辑器。只需从那里查找文件夹(或尝试另存为...),等等!:-)
在 *nixes 上,它位于~/.gitconfig
. 你家有对应的文件吗?
在 Windows 上,您可以输入 git bash
notepad ~/.gitconfig
msysgit 的路径是:
视窗 XP -C:\Documents and Settings\<user_name>\.gitconfig
Windows Vista+ C:\Users\<user_name>\.gitconfig
全局位置是在 Windows MsysGit 上使用 HOMEDRIVE 和 HOMEPATH 环境变量派生的,除非您已经定义了 HOME 环境变量。'profile' 脚本中对此进行了详细说明。
在我的公司环境中,HOMEDRIVE 是 H:,然后映射到网络 URL \\share\$。然后将整个批次映射到“我的文档”,这不是其他人所期望的。驱动器到 URL 重新映射可能存在一些进一步的问题。无论如何,我什至无法调整 HOMEDRIVE 或 HOMEPATH 变量。
在我的例子中,我定义了一个个人 HOME 环境变量并将其指向 D:\git\GitHOME 并将所有这些 GIT 文件(没有扩展名)复制到 GitHOME 目录以安全保存。
可以通过“我的电脑”属性对话框中的“高级”选项卡设置 Windows 环境变量。
何时创建全局 .gitconfig 文件?
首先,git 在安装过程中不会自动创建全局配置文件 (.gitconfig)。文件在第一次写入之前不会创建。如果您从未设置过系统变量,它就不会出现在您的文件系统中。我猜这可能是问题的根源。
要求 Git 创建它的一种方法是请求编辑。这样做将强制创建文件。
git config --global --edit
如果您在发出此命令时监视用户的主文件夹,您将看到 .gitconfig 文件神奇地出现。
git配置存储在哪里?
以下是与三个 Git 作用域相关的配置文件的名称和位置的简要说明,即system、global和local:
当然,眼见为实,所以这里有一张图片显示了每个文件和每个位置。我从我写的一篇关于该主题的文章中提取了图像。
如果您在 Windows PC 上使用 TortoiseGit,您可以使用:
Settings / Git / Config / Edit global .gitconfig
打开全局 .gitignore 文件。
但是,如果您在域中使用 Windows (7) PC,您的配置文件目录可能是网络共享(作为驱动器安装)。在这种情况下,TortoiseGit(至少:1.6.5.0)将您指向错误的目录(在 c:...上)。有关更多信息,请参阅已关闭的 TortoiseGit问题 922。或者使用 %HOMEDRIVE%%HOMEPATH% 打开包含 .gitignore 文件的目录。
正如@MatrixFrog 在他们的评论中指出的那样,如果目标是编辑配置,您可能需要运行:
git config --global --edit
此命令将在选择的编辑器中打开配置文件(在本例中为那个--global
),并等待文件关闭(就像 during 一样git rebase -i
)。
我在 Windows 8.1 上将SmartGit与 msysgit 一起使用,并注意到该gitconfig
文件可以有三个不同的位置:
%USERPROFILE%\.gitconfig
C:\Program Files (x86)\Git\etc\gitconfig
C:\Program Files (x86)\SmartGitHg\git\etc\gitconfig
但使用的是来自 的那个%USERPROFILE%\.gitconfig
。
注意(对于 *nix 平台)可能有用:某些类型的全局 git 配置/信息存储在 中/usr/share/git-core/
,例如 git 自动完成脚本和以下(默认)挂钩:
它们中的每一个都可以包含它们自己的一组要执行的命令,时间由它们各自的文件名描述。
我正在运行 Windows 7 并按照 GitHub 上的说明(一两年前)使用 git 作为设置。我会想到一个相当常见的用例。上面的答案都没有帮助我,在经历了很多挫折之后,我最终在以下目录中找到了我的“真正的”gitconfig 文件;
C:\Users\Bill\AppData\Local\GitHub\PortableGit_054f2e797ebafd44a30203088cd 3d58663c627ef\etc
显然替换您的用户名,并且大概 PortableGit_ 之后的后缀是唯一的 GUID 或类似的。
我的全局也有问题.gitconfig
这是因为有人也有这个奇怪的情况
git 说:
致命:读取配置文件时发生未知错误
现在我修好了。问题出.gitconfig
在此文件夹中:
c:\Users\myUser.config\git\config
我不知道它是从哪里来的……但现在一切又像魅力一样运作了。
我认为发布此报价很重要:
Git for Windows 支持四个级别的配置。最低级别是机器特定的配置设置,称为“便携式”,并且存在于“%ProgramData%\Git\config”中。一个优先级是安装特定配置设置,称为“系统”,位于“\mingw64\etc\gitconfig”。这两个配置文件,一般都需要提升权限才能修改。
从称为“全局”配置的使用特定值开始,可以在“%UserProfile%.gitconfig”中找到,我们找到“用户可编辑”配置文件。最高优先级的配置设置在“本地”配置中,通常可以在“.git\config”中找到。
它看到链接的博客中的建议是修改“系统”或“安装”特定的配置设置,这很好,但用户应该期望 Git 的其他安装不会吸收这些设置。如果您想要机器范围的设置,请使用“便携式”配置文件,否则选择“全局”或“本地”配置文件。
希望人们会发现这些信息有用。
.gitconfig
文件位置macOS 测试正常
# global config
$ cd ~/.gitconfig
# view global config
$ git config --global -l
# local config
$ cd .git/config
# view local config
$ git config -l
也许对你有好处:<code>Vim or
VSCode
for edit git config
# open config with Vim
# global config
$ vim ~/.gitconfig
# local config
$ vim .git/config
# open config with VSCode
# global config
$ code ~/.gitconfig
# local config
$ code .git/config
卸载 Msysgit 并安装 Cygwin + Git。然后全局 '.gitconfig' 将在这里: C:\cygwin(64)\home\[userName]\.gitconfig 。
现在您不必担心可能被其他程序使用的环境变量。例如,我的环境变量将我指向工作 Windows 域环境中的映射驱动器。我不希望我的全局 .gitconfig 坐在我的“主”映射驱动器上。我也不知道可能依赖于该 windows 环境变量的其他应用程序会发生什么。出于某种原因,运营部门可能需要将该环境变量设置为映射驱动器。
此外,如果您使用此方法指定全局“.gitconfig”的特定路径,您也不必担心 Mysysgit 会覆盖您的“配置文件”配置设置。
一般来说,保存自己并在windows中使用cygwin bash shell并更快乐
我有一个类似的问题;问题是该.gitconfig
文件位于
C:\Users\MyLogin\.gitconfig\
(在 Windows 7 上)
换句话说,该文件位于 中C:\Users\MyLogin\.gitconfig\.gitconfig
,而不是 on C:\Users\MyLogin\.gitconfig
(这是 Git 查找文件的位置)。
完全同意@ cameron-mckenzie在此页面上的回答,上面关于何时.gitconfig
创建全局文件?(这显然适用于每个操作系统)。他的其余答案涉及Win7系统。
在Win10 系统中,.gitconfig
只有当您倾向于通过 Windows 命令提示符设置user.name
和user.email
系统变量时,才会第一次创建全局文件。
设置后,.gitconfig
文件将在%USERPROFILE%
dir 中创建。
所以,让我们假设.gitconfig
文件是否已经存在。您可以通过命令提示符/Gitbash/Terminal 了解其位置:
git config --global --list --show-origin
我已经将我的 Git 安装在:C:\Users\_myuserfolder_\AppData\Local\Programs\Git