Git多环境配置

简介: 你是不是曾遇到过这样一个问题,公司仓库往往为了满足公司git规范,往往需要全局配置用户名和邮箱........

前言

image.png
你是不是曾遇到过这样一个问题,公司仓库往往为了满足公司git规范,往往需要全局配置用户名和邮箱,但是我们平时也活跃在男性交友论坛(github)上,这个时候我们个人仓库的用户名和邮箱配置是有区别的,为了能够很好地区分工程上传到不同的远程仓库,我们需要分别处理,保证在不同的工程使用不同的配置信息。

Git多层级配置

多层级配置在git支持中,分别是system(系统级)、global(用户级)、local(项目级)和worktree(工作区级)

  • 配置优先级: worktree > local > global > system

配置解释

  • system

/etc/gitconfig: 系统级配置文件,对系统中所有用户都适用的配置。使用 git config --system读写的就是这个文件。

  • global

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

  • local

$RepoPath/.git/config: 项目级配置文件,当前项目的 git仓库目录中的配置文件,也就是工作目录中的 .git/config 文件,这里的配置仅仅针对当前项目有效。使用 git config --local或 省略 local参数,读写的就是这个文件。

  • worktree: 工作区级配置,此配置仅仅针对当前工作区有效。使用 git config --worktree进行配置。

Git动态配置

假设有A,B,C分支,每个分支或许提交使用的用户信息与工作区或者当前用户下的不一样,如果你遇到这样的项目,可以单独进行配置,但是如果有很多这样的项目再单独配置的话就很麻烦,也容易遗漏掉某些配置,我们可以在用户级、系统级配置文件中,通过 includeIf 配置项来有条件地加载指定配置文件,他可以根据当前git项目的目录来设置,也可以根据当前git项目的当前分支来设置,这样就能实现针对不同的仓库、分支来加载不同的配置。

指定目录

根据git项目的目录来加载对应的配置文件

[includeIf "gitdir:~/**/指定的目录/**"]
    path = 对应的配置文件的路径

指定分支

如果我们位于当前分支名称匹配

[includeIf "onbranch:分支名字"]
    path = 对应的配置文件的路径

自定义配置写入

在配置文件对应的配置文件的路径中编写你需要设置,还可以通过带-f(等同于--file)选项的git config命令直接将配置项写入指定配置文件中,如下

git config -f 对应的配置文件的路径 user.email siguoduan@gmail.com

对于个人用户来说,可以把通用的设置到global层,不通用的设置到具体的某个仓库或者仓库的工作目录中。如果主机会有多个用户用不同的用户名登录使用,那可以把通用的放到system层的配置中。



目录
相关文章
|
存储 Shell 开发工具
Git环境配置和初始化
Git环境配置和初始化
306 1
|
Shell Linux 开发工具
Git基础教学1——安装、环境配置与基本设置
点击进入Git官网选择自己电脑的操作系统安装 之后进行傻瓜式安装(如果有需要更换下载路劲的自行更换),一直点下去即可。 安装成功后在根目录下运行git-bash.exe或者运行根目录下bin文件夹中的bash.exe或者鼠标右击选择Git Bash Here就可以开始使用命令。
|
Shell 网络安全 开发工具
【GitHub】从0开始搭建GitHub环境系列之一——Git基础环境配置(用户名、邮件、密钥等)
【GitHub】从0开始搭建GitHub环境系列之一——Git基础环境配置(用户名、邮件、密钥等)
193 0
|
网络安全 开发工具 git
git基本环境配置
yum源中已有的git版太低,所以选择源码编译,也比较简单,由于git上许多项目需要python环境不同,因此保留系统自带的python2.
929 0
|
开发工具 git
git环境配置
     重要提示: 生成ssh的命令必须要用git batch gui生成,还有git setting的Network的sshclient的路径:C:\Program Files (x86)\Git\bin\ssh.exe 
820 0
|
24天前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
16天前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
24 3
|
1月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
50 1
[Git]入门及其常用命令
|
2月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
137 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令