git config
创始人
2024-12-29 00:41:49
0

文章目录

  • 1.简介
  • 2.格式
  • 3.选项
  • 4.示例
  • 参考文献

1.简介

安装完 Git 后,需要对 Git 环境进行一次配置,且只需要配置一次。程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。

Git 自带一个 git config 的工具来设置控制 Git 外观和行为的配置变量,这些变量按照不同的作用级别默认存储在四个不同的文件中。 可以使用 --file 选项来显示指明配置文件的路径。

文件路径级别说明
/etc/gitconfig系统级别包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 --system 选项 Git 会读写此文件
~/.config/git/config用户级别针对当前用户。 使用 --global 选项 Git 会读写此文件
~/.gitconfig用户级别针对当前用户。 使用 --global 选项 Git 会读写此文件。较新版本的 Git 会使用此配置文件
仓库目录/.gitconfig仓库级别对当前仓库有效。使用 --local 选项 Git 会读写此文件,为默认选项

从下到上,每一个级别会覆盖上一级别的配置,优先级如下:

仓库目录/.git/config > ~/.gitconfig > /etc/gitconfig 

2.格式

git config [] 

3.选项

配置文件路径(Config file location) --system 	使用系统级别的配置文件 --global 	使用当前用户全局配置文件 --local 	使用当前仓库的配置文件,为默认选项 -f, --file= 	显示指定配置文件路径  动作(Action) -l, --list 	列出所有配置 --unset 	从配置文件中删除变量名匹配的某一行 --unset-all 	从配置文件中删除变量名匹配的所有行 

4.示例

  • 配置用户信息。

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。

这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中。

git config --global user.name "John Doe" git config --global user.email "johndoe@example.com" 
  • 配置文本编辑器。

当 Git 需要你输入信息时会调用文本编辑器。 如果未配置,Git 会使用操作系统默认的文本编辑器,通常是 Vim。 如果你想使用不同的文本编辑器,例如 Emacs,可以这样做:

git config --global core.editor emacs 
  • 让 Git 记住用户名和密码。

每次使用 HTTP 协议与 Git 远端交互时均需要输入用户名和密码,为了避免如此繁琐的操作,可以使用 Git 凭证系统来处理这个事情。 下面有一些 Git 的选项:
(1)默认所有都不缓存。 每一次连接都会询问你的用户名和密码。
(2)cache 模式会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除。
(3)store 模式会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下。
(4)如果你使用的是 Mac,Git 还有一种 osxkeychain 模式,它会将凭证缓存到你系统用户的钥匙串中。 这种方式将凭证存放在磁盘中,并且永不过期,但是是被加密的,这种加密方式与存放 HTTPS 凭证以及 Safari 的自动填写是相同的。
(5)如果你使用的是 Windows,你可以安装一个叫做 Git Credential Manager for Windows 的辅助工具。 这和上面说的 osxkeychain 十分类似,但是是使用 Windows Credential Store 来控制敏感信息。 可以在 here 下载。

其中部分辅助工具有一些选项。如 store 模式可以接受一个 --file 参数,可以自定义存放密码的文件路径(默认 ~/.git-credentials )。cache 模式有 --timeout 参数,可以设置凭证存放在内存的存活时间(默认是 900,也就是 15 分钟)。

# 设置记住密码(默认15分钟) git config --global credential.helper cache  # 设置记住密码,自定义有效时长,比如一小时后失效 git config --global credential.helper 'cache --timeout=3600'  # 长期存储用户名和密码 git config --global credential.helper store  # 长期存储用户名和密码,指定用户名密码存储位置 git config --global credential.helper 'store --file ~/.git-credentials'  # 不记住用户名密码,以 HTTP 协议的 clone、pull、push 等每次请求,都需要输入用户名和密码 git config --global --unset credential.helper 

如果变更了用户名或密码,只需要清除存放密码的文件(默认 ~/.git-credentials ),会提示重新输入。

  • 协议替换

当你想去克隆一个别人 Github 上的 repository 时,如果使用 HTTPS 协议无法访问,那么可以变更协议采用 SSH 来访问。除了在 clone 时显示变更协议,我们也可以通过配置,让 git 自动进行协议替换。

例如将 HTTPS 协议变更为 SSH 协议。

git config --global url."git@github.com:".insteadOf "https://github.com/" 

一顿操作之后,你的 .gitconfig 中会多出一行参数设置:

[url "git@github.com:"] 	insteadOf = https://github.com/ 

设置之后,使用 git 进行 clone 时,资源 url 中协议和域名部分https://github.com/将被替换为git@github.com:

  • core.autocrlf 的配置。
# 提交时转换为 LF,检出时转换为 CRLF git config --global core.autocrlf true     # 提交时转换为 LF,检出时不转换 git config --global core.autocrlf input  # 提交检出均不转换 git config --global core.autocrlf false 

一般 Windows IDE 会将换行改为 CRLF,所以建议设置为第二种,提交时转换为 LF,检出时不转换。

  • 查看配置信息。

使用git config -l, --list命令可以列出 Git 当前所有配置。

git config -l user.name=John Doe user.email=johndoe@example.com color.status=auto color.branch=auto color.interactive=auto color.diff=auto ... 

或者通过输入 git config git config --get 来检查 Git 的某一项配置。

git config user.name John  git config --get user.email John@tencent.com 

参考文献

git config

相关内容

热门资讯

教程辅助“新导游正版辅助”开挂... 教程辅助“新导游正版辅助”开挂(透视)辅助器-知乎>>您好:软件加薇136704302中联系客服,确...
一起来讨论“四川麻将血战智能辅... 【亲,四川麻将血战智能辅助 这款游戏可以开挂的,确实是有挂的,很多玩家在这款四川麻将血战智能辅助中打...
七分钟辅助“金虎爷辅助”开挂(... 金虎爷辅助开挂教程视频分享装挂详细步骤在当今的网络游戏中,金虎爷辅助作为一种经典的娱乐方式,吸引了无...
教程辅助“微乐小程序多功能修改... 微乐小程序多功能修改器是一款专注玩家量身打造的游戏记牌类型软件,在微乐小程序多功能修改器这款游戏中我...
总算了解“椰子辅助”附开挂脚本... 总算了解“椰子辅助”附开挂脚本辅助详细教程您好:椰子辅助这款游戏可以开挂,确实是有挂的,很多玩家在这...
开挂辅助“杭州都莱到底有没有挂... 开挂辅助“杭州都莱到底有没有挂”开挂(透视)辅助神器技巧教程-知乎;无需打开直接搜索加薇136704...
教程辅助“传送屋有没有挂”开挂... 教程辅助“传送屋有没有挂”开挂(透视)辅助安装-哔哩哔哩>>您好:软件加薇136704302中联系客...
热门推荐“衢州都莱辅助器免费”... 热门推荐“衢州都莱辅助器免费”附开挂神器辅助详细教程;无需打开直接搜索加(薇:136704302)咨...
开挂辅助“手机游戏挂机辅助”开... 开挂辅助“手机游戏挂机辅助”开挂(透视)辅助脚本实用技巧-知乎;打开点击测试直接进入微信(13670...
每日必看教程"微乐自... 每日必看教程"微乐自建房辅助多少钱一个月"开挂(神器)辅助神器详细教程-有挂功能微乐自建房辅助多少钱...