1180

用于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 上

4

18 回答 18

1454

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。

于 2010-01-22T05:02:38.163 回答
134

我还在我的 Windows 机器上寻找全局.gitconfig变量,并使用 git 发现了这个巧妙的技巧。

做一个:git config --global -e然后,如果你幸运的话,你会得到一个加载了你的全局.gitconfig文件的文本编辑器。只需从那里查找文件夹(或尝试另存为...),等等!:-)

于 2013-07-12T15:56:36.260 回答
81

在 *nixes 上,它位于~/.gitconfig. 你家有对应的文件吗?

在 Windows 上,您可以输入 git bash

notepad ~/.gitconfig
于 2010-01-22T00:38:27.863 回答
42

msysgit 的路径是:

视窗 XP -C:\Documents and Settings\<user_name>\.gitconfig

Windows Vista+ C:\Users\<user_name>\.gitconfig

于 2010-01-22T04:19:13.237 回答
35

全局位置是在 Windows MsysGit 上使用 HOMEDRIVE 和 HOMEPATH 环境变量派生的,除非您已经定义了 HOME 环境变量。'profile' 脚本中对此进行了详细说明。

在我的公司环境中,HOMEDRIVE 是 H:,然后映射到网络 URL \\share\$。然后将整个批次映射到“我的文档”,这不是其他人所期望的。驱动器到 URL 重新映射可能存在一些进一步的问题。无论如何,我什至无法调整 HOMEDRIVE 或 HOMEPATH 变量。

在我的例子中,我定义了一个个人 HOME 环境变量并将其指向 D:\git\GitHOME 并将所有这些 GIT 文件(没有扩展名)复制到 GitHOME 目录以安全保存。

可以通过“我的电脑”属性对话框中的“高级”选项卡设置 Windows 环境变量。

于 2011-04-20T14:57:41.190 回答
16

何时创建全局 .gitconfig 文件?

首先,git 在安装过程中不会自动创建全局配置文件 (.gitconfig)。文件在第一次写入之前不会创建。如果您从未设置过系统变量,它就不会出现在您的文件系统中。我猜这可能是问题的根源。

要求 Git 创建它的一种方法是请求编辑。这样做将强制创建文件。

git config --global --edit

如果您在发出此命令时监视用户的主文件夹,您将看到 .gitconfig 文件神奇地出现。

git配置存储在哪里?

以下是与三个 Git 作用域相关的配置文件的名称和位置的简要说明,即systemgloballocal

  • 系统 Git 配置:名为gitconfig的文件位于-git-install-location-/ming<32>/etc
  • 全局 Git 配置:名为.gitconfig的文件位于用户的主文件夹(C:\Users\git 用户)
  • 本地 Git 配置:本地 repo的.git 文件夹中名为config的文件

当然,眼见为实,所以这里有一张图片显示了每个文件和每个位置。我从我写的一篇关于该主题的文章中提取了图像。

Windows Git 配置文件位置 (TheServerSide.com)

Git 配置文件的位置

于 2018-06-18T02:22:37.370 回答
12

如果您在 Windows PC 上使用 TortoiseGit,您可以使用:

Settings / Git / Config / Edit global .gitconfig

打开全局 .gitignore 文件。

但是,如果您在域中使用 Windows (7) PC,您的配置文件目录可能是网络共享(作为驱动器安装)。在这种情况下,TortoiseGit(至少:1.6.5.0)将您指向错误的目录(在 c:...上)。有关更多信息,请参阅已关闭的 TortoiseGit问题 922。或者使用 %HOMEDRIVE%%HOMEPATH% 打开包含 .gitignore 文件的目录。

于 2011-10-05T09:48:59.430 回答
12

正如@MatrixFrog 在他们的评论中指出的那样,如果目标是编辑配置,您可能需要运行:

git config --global --edit

此命令将在选择的编辑器中打开配置文件(在本例中为那个--global),并等待文件关闭(就像 during 一样git rebase -i)。

于 2019-05-08T10:11:02.247 回答
10

我在 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

于 2014-06-30T12:23:56.947 回答
6

注意(对于 *nix 平台)可能有用:某些类型的全局 git 配置/信息存储在 中/usr/share/git-core/,例如 git 自动完成脚本和以下(默认)挂钩:

  • 应用补丁消息
  • 更新后
  • 预提交
  • 准备提交消息
  • 提交消息
  • 预应用补丁
  • 预变基
  • 更新

它们中的每一个都可以包含它们自己的一组要执行的命令,时间由它们各自的文件名描述。

于 2013-05-06T16:43:03.820 回答
4

我正在运行 Windows 7 并按照 GitHub 上的说明(一两年前)使用 git 作为设置。我会想到一个相当常见的用例。上面的答案都没有帮助我,在经历了很多挫折之后,我最终在以下目录中找到了我的“真正的”gitconfig 文件;

C:\Users\Bill\AppData\Local\GitHub\PortableGit_054f2e797ebafd44a30203088cd 3d58663c627ef\etc

显然替换您的用户名,并且大概 PortableGit_ 之后的后缀是唯一的 GUID 或类似的。

于 2015-06-23T22:45:18.653 回答
4

我的全局也有问题.gitconfig 这是因为有人也有这个奇怪的情况

git 说:

致命:读取配置文件时发生未知错误

现在我修好了。问题出.gitconfig在此文件夹中:

c:\Users\myUser.config\git\config

我不知道它是从哪里来的……但现在一切又像魅力一样运作了。

于 2015-09-14T09:47:36.793 回答
3

我认为发布此报价很重要:

Git for Windows 支持四个级别的配置。最低级别是机器特定的配置设置,称为“便携式”,并且存在于“%ProgramData%\Git\config”中。一个优先级是安装特定配置设置,称为“系统”,位于“\mingw64\etc\gitconfig”。这两个配置文件,一般都需要提升权限才能修改。

从称为“全局”配置的使用特定值开始,可以在“%UserProfile%.gitconfig”中找到,我们找到“用户可编辑”配置文件。最高优先级的配置设置在“本地”配置中,通常可以在“.git\config”中找到。

它看到链接的博客中的建议是修改“系统”或“安装”特定的配置设置,这很好,但用户应该期望 Git 的其他安装不会吸收这些设置。如果您想要机器范围的设置,请使用“便携式”配置文件,否则选择“全局”或“本地”配置文件。

希望人们会发现这些信息有用。

资源

于 2018-10-30T21:34:13.270 回答
2

.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 VSCodefor 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

于 2020-02-20T02:48:40.940 回答
2

卸载 Msysgit 并安装 Cygwin + Git。然后全局 '.gitconfig' 将在这里: C:\cygwin(64)\home\[userName]\.gitconfig 。

现在您不必担心可能被其他程序使用的环境变量。例如,我的环境变量将我指向工作 Windows 域环境中的映射驱动器。我不希望我的全局 .gitconfig 坐在我的“主”映射驱动器上。我也不知道可能依赖于该 windows 环境变量的其他应用程序会发生什么。出于某种原因,运营部门可能需要将该环境变量设置为映射驱动器。

此外,如果您使用此方法指定全局“.gitconfig”的特定路径,您也不必担心 Mysysgit 会覆盖您的“配置文件”配置设置。

一般来说,保存自己并在windows中使用cygwin bash shell并更快乐

于 2015-10-06T23:53:17.297 回答
1

我有一个类似的问题;问题是该.gitconfig文件位于

C:\Users\MyLogin\.gitconfig\

(在 Windows 7 上)

换句话说,该文件位于 中C:\Users\MyLogin\.gitconfig\.gitconfig,而不是 on C:\Users\MyLogin\.gitconfig(这是 Git 查找文件的位置)。

于 2016-04-15T21:40:47.107 回答
1

完全同意@ cameron-mckenzie在此页面上的回答,上面关于何时.gitconfig创建全局文件?(这显然适用于每个操作系统)。他的其余答案涉及Win7系统。

Win10 系统中.gitconfig只有当您倾向于通过 Windows 命令提示符设置user.nameuser.email系统变量时,才会第一次创建全局文件。
设置后,.gitconfig文件将在%USERPROFILE%dir 中创建。

下面的命令适用于 Win 和 MacOS,两者

所以,让我们假设.gitconfig文件是​​否已经存在。您可以通过命令提示符/Gitbash/Terminal 了解其位置:

git config --global --list --show-origin
于 2022-02-12T08:18:03.380 回答
0

我已经将我的 Git 安装在:C:\Users\_myuserfolder_\AppData\Local\Programs\Git

于 2019-07-18T07:06:17.643 回答