找不到gitconfig文件

27

我刚开始学习Linux和Git。我正在使用Linux Mint。我已经通过apt-get安装了Git和emacs。

我正在使用以下教程:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git

它说有三个不同的位置有配置文件:

  1. /etc/gitconfig 文件
  2. ~/.gitconfig~/.config/git/config 文件
  3. 当前使用存储库的Git目录中的配置文件(即 .git / config)。

我刚开始使用Git,所以假设选项3)不适用。

我检查了1)和2) - 我无法在任何地方找到这些文件。

我谷歌搜索了一下,但没有结果,并在根目录下运行了sudo find . -name,但还是找不到。

对于这种情况,我一点头绪都没有。

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

(显然我在上面使用了我的名字姓氏)

它没有给我任何错误或其他信息 - 那么它在哪里写入这些配置数据?这些文件在哪里?


在输入git config --global命令后,您没有看到~/.gitconfig~/.config/git/config吗? - VonC
不,它们还没有出现。我按照上面所示的配置了user.name和user.email,但文件仍然不存在,所以我甚至不知道这些数据写在哪里... - zamcoot
你是以自己的身份执行这些命令,还是在它们前面加上sudo(作为root)?echo $HOME返回什么? - VonC
在添加任何配置键之前,这些文件可能不存在,但是一旦设置了您的用户名称,文件就应该被创建。 - Frederic Henri
1
git config --global --edit 会为您编辑该文件。 - Rolf of Saxony
显示剩余2条评论
4个回答

24
根据OP确认,任何git config --global命令都会创建/更新~/.gitconfig文件。但是,由于默认情况下它是一个隐藏的文件,您需要使用ls -alrt来查看它。git config --global -l将列出其内容。更一般地,git config --list --show-origin显示所有配置文件(以及每行配置数据)。从Git 2.26(2020年第一季度)开始,您可以添加--show-scope选项
git config --list --show-origin --show-scope

那也会打印出所有显示的配置值的范围(“local”,“global”等)。

在 Git 2.37 (2022 年第三季度),确认 git config --show-scope 命令确实显示 工作树,除了本地、全局、系统和命令配置之外。

详见 提交 db7961e(2022 年 6 月 7 日),由 Glen Choo (chooglen) 提交。
(由 Junio C Hamano -- gitster 合并到 提交 21bb385,2022 年 6 月 13 日)

配置文件:文档化并测试“工作树”范围

签署者:Glen Choo

测试 "git config --show-scope"(man) 命令是否显示 工作树 范围,并将其添加到 Documentation/git-config.txt 范围列表中。

"git config --help"(man) 不需要更新,因为它已经提到了 工作树

git config现在包括在其man页面中:

(工作树,本地,全局,系统,命令)。


谢谢 - 这是正确的,我也应该用sudo运行命令。 - zamcoot
2
@elnurcoot 不确定关于 sudo:这将作为 root 执行它们,这意味着不同的 HOME。不使用 sudo 运行它们应该将 .gitconfig 放在 $HOME 中(执行 echo $HOME,不要使用 sudo)。 - VonC
不管我是否使用sudo,echo $HOME都会返回相同的目录。问题是 - 只有在我使用sudo运行命令后,我才能在我的主目录中的隐藏文件中找到~/.gitconfig文件。 - zamcoot
1
如果正确安装了@elnurcoot,那么echo $HOME应该显示为/home/elnur,并且您的.gitconfig文件应该在那里。不需要使用sudo。 - VonC
2
尝试使用 git config -l --show-origin 命令:您将看到配置文件所在的位置。 - VonC
显示剩余6条评论

9

查找全局的.gitconfig文件:

  1. 打开终端或命令提示符
  2. 通过输入cd ~进入你的根目录
  3. 一旦进入你的根目录,输入ls -alrt
  4. 你会看到一个.gitconfig文件
    • 要打开.gitconfig文件,请输入open .gitconfig

查找特定代码库的.gitconfig文件:

  1. 打开终端或命令提示符
  2. 通过输入cd path/to/repository-directory进入你的代码库根目录
  3. 一旦进入你的代码库根目录,输入ls -alrt
  4. 你会看到一个.git目录。 输入cd .git
  5. 一旦进入你的代码库的git目录,输入ls -alrt
  6. 你会看到一个config文件
    • 要打开你的代码库的.gitconfig文件,请输入open config

1
我通过使用git config --system --list命令获取了我的配置文件。

1

只需运行以下命令即可发现每个Git配置文件的位置:

sudo git -c core.editor=ls\ -al config --system --edit
sudo git -c core.editor=ls\ -al config --global --edit
sudo git -c core.editor=ls\ -al config --local --edit
sudo git -c core.editor=ls\ -al config --worktree --edit

在执行最后两个命令之前,您必须在 Git 存储库中。只有启用了多个 Git 工作树,最后一个命令才能正常工作。

以下是Ubuntu 上的效果:

enter image description here

如果您尝试在全局或系统上执行git config,则可能需要提升权限,因为Git配置文件可能位于受保护的\root或\etc目录中。

sudo git config --global user.name "cameronmcnz"

enter image description here


什么都对我没用 :( git --version git版本2.34.1 - jento

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接