解锁初次运行Git前的关键配置步骤,打造高效版本控制环境

初次在系统中安装好Git,需要做几件事情来配置你的Git环境,确保你在日常开发中提高效率,节约时间。下面我就一一介绍下:

git config 工具介绍

git config 工具专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

  1. /etc/gitconfig 文件:包含系统上每一个用户及他们仓库的通用配置。若使用 git config 时带上 --system 选项,读写的就是这个文件。

  2. ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时带上 --global 选项,读写的就是这个文件。

  3. 当前仓库的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前仓库有效。若使用 git config 时带上 --local 选项,读写的就是这个文件。

每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

你可以通过以下命令查看所有的配置以及它们所在的文件: 带上 --show-origin 可以显示配置所在文件目录

bash 复制代码
# 查看所有环境下的配置信息
$ git config --list --show-origin
bash 复制代码
# 查看系统配置信息
$ git config --list --system --show-origin

# 查看全局配置信息
$ git config --list --global --show-origin

# 查看局部(当前目录)别配置信息
$ git config --list --local --show-origin

用户信息配置

设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:

bash 复制代码
# 全局配置(所有项目)
git config --global user.name <name>
git config --global user.email <email>

# 当前目录配置(当前项目) 
# 适用场景:如果要在某个特定的仓库中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可。
git config user.name <name>
git config user.email <email>

示例:

git config --global user.name "xiaoshitou"
git config --global user.email "xiaoshitou@gmail.com"

git config user.name "dalaohu"
git config user.email "dalaohu@gmail.com"

检查配置信息

要检查已有的配置信息,可以使用 git config --list 命令:

bash 复制代码
λ git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.helper=manager
init.defaultbranch=master
user.name=lianglei
user.email=love2157dream@aliyun.com
credential.helper=store
core.quotepath=false
core.autocrlf=false
........................

# 看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。

#可以通过输入 git config <key>: 来检查 Git 的某一项配置
λ git config user.name
xiaohong

凭据存储

如果你使用的是 SSH 方式连接远端,并且设置了一个没有口令的密钥,这样就可以在不输入用户名和密码的情况下安全地传输数据。 然而,这对 HTTP 协议来说是不可能的 ------ 每一个连接都是需要用户名和密码的。 因此设置合适的模式有利于开发效率的提升。

在Git中有以下几种方式来存储凭据:

  • 默认所有都不缓存。 每一次连接都会询问你的用户名和密码。

  • cache 模式会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除。

  • store 模式会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下。

  • osxkeychain 模式是macOS 中安装的 Git 一般默认都是该模式,它会将凭证缓存到你系统用户的钥匙串中。 这种方式将凭证存放在磁盘中,并且永不过期,但是是被加密的,这种加密方式与存放 HTTPS 凭证以及 Safari 的自动填写是相同的。

  • manager 模式是Windows 中安装的 Git 一般默认都是该模式,它会将凭证缓存在系统的凭据管理器中。这种方式将凭证存放在磁盘中,并且永不过期,同样也是加密的。

Git 中有三种级别systemgloballocal ,可以针对不同的级别设置不同的凭据存储方式。

查看不同级别的凭据模式

bash 复制代码
λ git config --system credential.helper
manager

λ git config --global credential.helper
store

λ git config --local credential.helper
store

修改指定级别的凭据模式

bash 复制代码
# 开发中强烈推荐使用这个
λ git config --global credential.helper store

# store 模式可以接受一个 --file <path> 参数,可以自定义存放密码的文件路径(默认是 ~/.git-credentials )。 

# cache 模式有 --timeout <seconds> 参数,可以设置后台进程的存活时间(默认是 "900",也就是 15 分钟)。 

# 下面是一个配置 "store" 模式自定义路径的例子:
λ git config --global credential.helper 'store --file ~/.my-credentials'

# 下面是一个配置 "cache" 模式自定义存活时间的例子:
λ git config credential.helper 'cache --timeout=3600'

写在最后

通过本篇的文章可以学习到安装git后如何配置相关环境,在开发中游刃有余,节约开发时间,喜欢的话帮忙点个赞 + 关注吧,将持续更新 git 相关的文章,还可以关注我的公众号 梁三石FE ,感谢您的关注~

相关推荐
cnxy1888 分钟前
Python Web开发新时代:FastAPI vs Django性能对比
前端·python·fastapi
神仙姐姐QAQ9 分钟前
vue3更改.el-dialog__header样式不生效
前端·javascript·vue.js
脾气有点小暴9 分钟前
uniapp真机调试无法连接
前端·uni-app
AI_567811 分钟前
Vue.js 深度开发指南:从数据绑定到状态管理的最佳实践
前端·javascript·vue.js
Irene199112 分钟前
Sass常用语法总结
前端·sass
程序员爱钓鱼12 分钟前
Node.js 博客系统实战(一):项目需求分析
前端·后端·node.js
阿星AI工作室13 分钟前
魔改豆包输入法变电脑版,立即拥有千元AI语音输入法typeless平替
前端·人工智能
前端-文龙刚15 分钟前
浅记Vue3中 ref 和 reactive 是两种主要的响应式数据声明方式,它们有以下主要区别
前端·javascript·vue.js
小先生81216 分钟前
关于vue-element-plus-admin的mini分支踩坑集锦
前端·vue.js·前端框架·c#
hhcccchh16 分钟前
学习vue第十天 V-Model学习指南:双向绑定的魔法师
前端·vue.js·学习