解锁初次运行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 ,感谢您的关注~

相关推荐
杨进军1 分钟前
实现 React Fragment 节点渲染
前端·react.js·前端框架
杨进军3 分钟前
实现 React 类组件渲染
前端·react.js·前端框架
小山不高4 分钟前
react封装横向滚动组件
前端
拾光拾趣录6 分钟前
油猴插件开发学习:从零编写你的第一个浏览器增强脚本
前端·浏览器
国家不保护废物6 分钟前
深入浅出JavaScript事件循环(event loop):宏任务与微任务的奇幻之旅
前端·javascript·面试
FogLetter7 分钟前
React组件开发之Todos基础:从零打造一个优雅的待办事项应用
前端·javascript·react.js
刘羡阳8 分钟前
使用d3js实现了一个组织架构树形图(拖拽,展开收起)
前端
风铃喵游12 分钟前
Vue渲染器:打通开发编译渲染的最后一步
前端·架构
拾光拾趣录12 分钟前
虚拟DOM超详细流程
前端·vue.js·dom
猩猩程序员13 分钟前
用 Rust 与太空对话:KSAT 的工程实践
前端