一分钟了解git全局配置
配置参考
git全局配置在用户家目录的.gitconfig
中
该文件的推荐配置为:
[user]
name = laptop
email = laptop@example.com
[core]
quotepath = false
autocrlf = false
...
怎样修改全局配置
方法1:直接修改.gitconfig
文件
方法2: 用git命令,比如
git config --global ***
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
git config --global core.quotepath false
配置解读
配置中“user”部分会在提交代码的时候作出不同user的标识。比如有多台电脑或多个人维护一个仓库,在user上作出区分。
在 Git 的配置文件中,[core]
部分的这两个配置项 quotepath
和 autocrlf
具有不同的含义和作用:
quotepath = false
正如前面所讲,quotepath
配置项用于控制 Git 如何显示文件名中的非 ASCII 字符。当设置为 false
时,Git 会尝试以原始字符形式显示文件名。这意味着包含中文、日文、韩文等非 ASCII 字符的文件名,在 Git 的输出(如 git status
、git log
等命令的结果)中会以正常的、可读的形式呈现,而不是被编码为类似 URL 编码的格式。这样可以更直观地查看和处理包含特殊字符的文件名。
autocrlf = false
autocrlf
配置项主要用于处理行尾换行符(end - of - line,EOL)的转换,具体含义如下:
- Windows 系统:在 Windows 系统中,文本文件使用回车符(
\r
)和换行符(\n
)的组合(\r\n
)来表示一行的结束。 - Unix 和 macOS 系统:在 Unix 和 macOS 系统中,文本文件仅使用换行符(
\n
)来表示一行的结束。
当 autocrlf
设置为 false
时:
- Git 不会自动转换行尾换行符。这意味着在跨平台协作时,你需要自己负责确保文件的行尾换行符在不同操作系统下的一致性。例如,如果你在 Windows 上创建文件并提交到 Git 仓库,文件的行尾将保持为
\r\n
,当其他使用 Unix 或 macOS 系统的开发者克隆该仓库时,他们看到的文件行尾就是\r\n
。这种设置适合于那些对行尾换行符有严格要求,或者希望手动控制换行符转换的场景,比如开发跨平台软件项目时,某些特定的代码文件需要特定的行尾格式。
相比之下,autocrlf
还有其他常见设置:
autocrlf = true
:在 Windows 系统上,Git 会在文件写入磁盘时将\n
转换为\r\n
,在文件添加到暂存区时将\r\n
转换为\n
。在 Unix 和 macOS 系统上,Git 会在文件写入磁盘时将\n
保持不变,在文件添加到暂存区时也将\n
保持不变。这种设置适合一般的文本文件处理,能自动处理不同操作系统间的行尾差异。autocrlf = input
:在所有操作系统上,Git 都会在文件添加到暂存区时将\r\n
转换为\n
,但在文件写入磁盘时不会进行转换。这对于那些希望在仓库中统一使用 Unix 风格行尾(\n
),但又不想在本地修改文件原始行尾格式的场景很有用。
综上所述,[core]
部分的这两个配置 quotepath = false
和 autocrlf = false
分别针对文件名显示和行尾换行符处理进行了特定的设置,以满足特定的开发和协作需求。