当前位置: 首页 > news >正文

git config是做什么的?

git config是做什么的?

  • git config作用
  • 配置级别
    • 三种配置级别的介绍及使用,
      • 配置文件说明
    • 使用说明
      • git confi查看参数
    • 默认/不使用这个参数 情况下 Git 使用哪个配置等级?
  • 一些常见的行为
    • 查看配置信息
    • 设置配置信息
    • 删除配置信息
  • 一些常用的配置信息
    • 用户信息
    • 使用例子
    • 默认编辑器
    • 默认合并工具和差异比较工具
    • 配置 Git 别名
      • 例子
    • 行尾转换(换行符处理)
    • true:在 Windows 上,Git 会自动将 CRLF(回车换行)转换为 LF(换行)存储,并且在检出时会将 LF 转换回 CRLF。
    • 配置推送的默认行为

git config作用

git config是Git的一个非常核心的命令,用于配置Git的行为和属性。
这些行为主要是关于git工作涉及到的一些配置,比如commit者的信息,默认编辑器的配置等等。

行为和属性包括一些常见的:

  • 用户信息:用户名和邮箱
    • 作用:用来标志每次commit的作者。(否则都不知道是谁提交的,不知道是谁的锅)
    • 如下图git log查看commit记录时可以看到每一个commit的作者及邮箱。(这个是可以配置的,但是开发过程中一般不会改动了)
      在这里插入图片描述
  • 编辑器:设置Git默认使用的文本编辑器
  • 合并工具和差异比较工具:配置 Git 使用的工具来处理合并冲突或比较文件差异。
  • 指令别名:通过创建git命令的别名来提高操作效率。-
  • Git的行为:配置Git的一些行为,比如换行符处理、默认推送方式等。

配置级别

Git 配置有三种配置级别,分别对应三种作用范围,配置值会根据其作用范围被存储在不同的配置文件中 (本质就是不同的配置文件) 。用户可以为不同的范围设置不同的配置值来符合自己的使用。

三种配置级别的介绍及使用,

作用范围越小应用优先级越高,接下来按应用优先级最高(作用范围越小)==>应用优先级(作用范围越大)最低来介绍:

应用优先级(越高越优先使用) 从高到低:
本地级 > 全局级 > 系统级

  • 本地级(Local-level):也叫仓库级,适用于某一个 Git 仓库,仓库级配置只对当前仓库有效。

    • 配置文件路径:这个配置存储在该仓库根目录下的 .git/config 文件中。也就是没有Git仓库都有一个这样子的文件。
    • 使用参数“–local” 来指定仓库配置
      • git config --local xxx
  • 全局级(Global-level):也就用户级,适用于当前用户的所有 Git 仓库。通常,用户会设置自己的用户名user.name、电子邮件user.email等信息,这些设置会在全局范围内生效。

    • 配置文件路径:这个配置存储在用户主目录/家目录 ~中的 .gitconfig 文件中。
    • 应用说明:这个是最常用的,配置它来实现配置所有的Git仓库信息,除非少部分需要当独配置特定的信息,才会配置本地级去覆盖全局级的配置。
    • 使用参数“–global” 来指定全局配置
      • git config --global xxx
  • 系统级(System-level):适用于系统中所有用户的配置(指系统中所有电脑用户的git配置)。一般来说,你不会频繁地修改这个级别的配置,除非你是系统管理员或进行全局配置。

    • 配置文件路径:存储在 Git 的安装目录下\etc\gitconfig。
    • 使用参数“–system” 来指定系统配置
      • git config --system xxx

配置文件说明

所有的配置都保存在配置文件当中,所以我们可以直接找到配置文件看看配置,甚至可以直接通过修改配置文件来修改配置,但是这样的操作不建议,毕竟git config就是为了用户不需要直接去修改配置文件而创建的,所以我们一般还是直接通过git config来配置/获取 配置信息。

使用说明

配置级别作为git config的一个参数,所以只要是git config命令都可以选择使用这个参数。
下面讲解的配置都是通过git config命令来配置的,所以都可以选择使用/不使用配置级别参数。

git confi查看参数

输入git config命令,可以获取该命令可使用的参数
在这里插入图片描述

默认/不使用这个参数 情况下 Git 使用哪个配置等级?

  1. 没有指定等级时,Git 默认使用 --local 配置:

    当你在一个 Git 仓库内运行 git config 命令时(不带 --global 或 --system 等选项),Git 会默认在当前仓库的 .git/config 文件中查找或修改配置项。

    如果没有找到仓库级配置,Git 会回退到 --global 配置:

  2. 如果你在一个仓库内没有找到相关配置项(即 .git/config 文件中没有设置),Git 会自动查找用户级配置,通常在用户的主目录下的 .gitconfig 文件中。

  3. 如果全局配置也没有,Git 会回退到 --system 配置。

一些常见的行为

查看配置信息

  • 查看所有的配置项:

    # (包括全局配置和局部配置)
    git config --list
    
    • 为了方便观看,通常不会直接查看全部,而是使用配置级别参数来查看某一级配置的所有配置项:
      # 查看本地级 所有配置项
      git config --local --list# 查看全局级 所有配置项
      git config --global --list# 查看系统级 所有配置项
      git config --system --list
      
  • 查看某个特定配置项,如查看user.name:

    # git config 配置项
    git config user.name
    

设置配置信息

# 语法:git config 配置项 配置项要配置的信息# 例子:# 配置 配置项user.name 为 lxcgit config user.name lxc

删除配置信息

使用参数–unset实现

# 语法:git config --unset 配置项# 例子:# 删除本地的用户名git config --unset user.name

一些常用的配置信息

用户信息

用户信息主要是用来给commit表明作者身份的(每次commit都会把用户信息一起记录到git log当中);毕竟git是一个方便多人共同开发的一个代码管理工具,多人开发,我们需要知道每次commit的作者是谁。

用户信息包括:

  • user.name:表明commit时的用户名
  • user.email:表明commit时的邮箱地址

使用例子

  • 用户需求:
    • 一次性配置所有Git仓库默认的用户信息(user.name为lxc user.email为www.lxc.com)

      git config --global user.name lxc
      git config --global user.email www.lxc.com
      
    • 在特定某个Git仓库又要配置其他用户信息(user.name为lrd user.email为www.lrd.com)

      git config --local user.name lrd
      git config --local user.email www.lrd.com
      

默认编辑器

默认编辑器指的是Git默认使用的文本编辑器(例如,vim、nano、emacs 等),每当Git需要你编辑提交你的信息或合并冲突时,它将调用这个编辑器。
而这个默认编辑器我们可以通过git config进行修改成其他的编辑器。

  • core.editor:默认编辑器
  • 配置默认编辑器
    # 配置默认编辑器为nano
    git config core.editor nano
    

默认合并工具和差异比较工具

  • merge.tool:指定 Git 合并时使用的工具。
  • diff.tool:指定 Git 比较文件差异时使用的工具。
# 全局 均配置为 vimdiff
git config --global merge.tool vimdiff
git config --global diff.tool vimdiff

配置 Git 别名

可以为原来的Git命令设置一个便捷的别名,方便自己使用

  • 语法:git config alias.xx yyy
    • xx:别名
    • yyy:原git指令,例如status、add、commit等

例子

# 为git status 配置别名 git st,这样就可以直接用git st代替git status
git config --global alias.st status
# 为git checkout 配置别名 git co
git config --global alias.co checkout

行尾转换(换行符处理)

  • core.autocrlf:该配置项用于管理不同操作系统(特别是 Windows 和 Unix 系统)之间的换行符差异
    • 可配属性:
      • true:在 Windows 上,Git 会自动将 CRLF(回车换行)转换为 LF(换行)存储,并且在检出时会将 LF 转换回 CRLF。

        git config --global core.autocrlf true
        
      • input:仅在提交时将 CRLF 转换为 LF,但检出时不做转换。
      • false:不做任何转换,保持原样。

配置推送的默认行为

  • push.default:配置 git push 的默认行为。常见的选项包括:
    • 可配属性:
      • simple:仅推送当前分支到与远程对应的分支。
      • matching:推送所有名称匹配的分支。
      • current:推送当前分支到远程。
      • upstream:推送当前分支到其上游分支。

相关文章:

git config是做什么的?

git config是做什么的? git config作用配置级别三种配置级别的介绍及使用,配置文件说明 使用说明git confi查看参数 默认/不使用这个参数 情况下 Git 使用哪个配置等级? 一些常见的行为查看配置信息设置配置信息删除配置信息 一些常用的配置信…...

计算机网络(7) 数据链路层

数据链路层的内容不学不知道,一学真的是吓一跳哦,内容真的挺多的,但是大家不要害怕,总会学完的。 还有由于数据链路层的内容太多,一篇肯定是讲不完的所以我决定把它分为好几个部分进行学习与讲解。大家可以关注以后文…...

2024年秋国开电大《建筑结构试验》形考任务1-4

形考作业一 1.下列选项中,( )项不属于科学研究性试验。 答案:检验结构的质量,说明工程的可靠性 2.下列各项,( )项不属于工程鉴定性试验。 答案:验证结构计算理论的假定 3.按试验目的进行分类,可将结构试验分成( )。 答案:工程鉴定性试验和科学研究性试验…...

【MySQL】explain之type类型

explain的type共有以下几种类型,system、const、eq_ref、ref、range、index、all。 system:当表中只有一条记录并且该表使用的存储引擎的统计数据是精确的,比如MyISAM、Memory,那么对该表的访问方法就是system。 const&#xff…...

Llama架构及代码详解

Llama的框架图如图: 源码中含有大量分布式训练相关的代码,读起来比较晦涩难懂,所以我们对llama自顶向下进行了解析及复现,我们对其划分成三层,分别是顶层、中层、和底层,如下: Llama的整体组成…...

Android onConfigurationChanged 基础配置

onConfigurationChanged 代替重建 0. **定义与基本用途**1. **具体使用场景 - 屏幕方向改变**2. **具体使用场景 - 键盘可用性改变**3. **具体使用场景 - 语言设置变更**4. **具体使用场景 - 屏幕密度变化**5. **具体使用场景 - 字体大小改变**6. **具体使用场景 - 屏幕尺寸变化…...

3. Sharding-Jdbc核⼼流 程+多种分⽚策略

1. Sharding-Jdbc 分库分表执⾏核⼼流程 Sharding-JDBC执行流程 1. SQL解析 -> SQL优化 -> SQL路由 -> SQL改写 -> SQL执⾏-> 结果归并 ->返回结果简写为:解析->路由->改写->执⾏->结果归并1.1 SQL解析 1. SQL解析过程分为词法解析…...

为什么财富的蓝图如此重要

我们生活在一个二元对立的世界里:上与下、明与暗、冷与热内与外、快与慢、左与右。这些还只是千百种对立之中的几个例子而已。 有了一个极端,表示一定同时有相对的另一端存在。有了右边不可能没有左边。 所以,在钱这件事上,有外…...

【云计算解决方案面试整理】1-2云计算基础概念及云计算技术原理

准备面云计算解决方案的岗位,整理了一些,也请大佬们指点。 文档分为 云计算基础概念、云计算技术原理、主流云计算平台(以天翼云为例)、云计算架构(弹性设计、高可用设计、高性能设计)、安全防护几个方面。 一、云计算基础概念 1.请简要解释一下什么是云计算? 简单说呢…...

循环语句 while()... 与 for()...(day11)

一、while()与do...while()... 循环语句: 通过循环语句可以反复执行一段代码多次 1、while循环: - 语法: while(①条件表达式){ ②语句... } - while语句在执行时, 先对条件表达式进行求值判断, 如果值为true&#…...

Mysql篇-三大日志

概述 undo log(回滚日志):是 Innodb 存储引擎层生成的日志,实现了事务中的原子性,主要用于事务回滚和 MVCC。 redo log(重做日志):是 Innodb 存储引擎层生成的日志,实现…...

MySQL的SQL书写顺序和执行顺序

老是忘记执行顺序,记录一下: 1. SQL语句的书写顺序 书写顺序通常是我们编写SQL查询时的顺序,主要包括以下关键字: SELECT:选择要查询的字段。FROM:指定数据来源表。JOIN(可选)&am…...

摄像机视频分析软件下载LiteAIServer视频智能分析软件抖动检测的技术实现

在现代社会中,视频监控系统扮演着至关重要的角色,其可靠性和有效性在很大程度上取决于视频质量。然而,由于多种因素,如摄像机安装不当、外部环境振动或视频信号传输的不稳定,视频画面常常出现抖动问题,这不…...

spring gateway 动态路由

##yml配置 spring:application:name: public-gateway # cloud: # gateway: # routes: # - id: mybatis-plus-test # 路由的唯一标识 # uri: http://192.168.3.188:9898 # 目标服务的地址 # predicates: # - Path/test/** # 匹配…...

除了 Postman,还有什么好用的 API 管理工具吗?

Postman在团队协作上的支持相对有限,且免费版本的功能较为基础,高级功能需要付费解锁。 为了寻找更加符合团队需求的解决方案,许多开发者开始探索其他API管理工具,其中Apifox便是备受推崇的选择之一。下面通过一个表格来简单了解…...

JAVA:探索 EasyExcel 的技术指南

1、简述 在 Java 开发中,Excel 文件的读写操作是一项常见的需求。阿里巴巴开源的 EasyExcel 提供了一种高效、简洁的解决方案,特别是在处理大规模数据时表现尤为突出。本文将详细介绍 EasyExcel 的优缺点、应用场景,并通过实例展示其基本用法…...

【数字图像处理+MATLAB】对图片进行伽马校正(Gamma Correction):使用幂律变换公式进行伽马变换

引言 伽马校正(Gamma Correction)是一种用于图像处理的技术,主要用于调整图像的亮度或对比度。其基本原理是对图像的每一个像素应用一个非线性变换,以更好地适应人眼的视觉感知。在数字图像处理中,伽马校正通常用于调…...

算法——螺旋矩阵II(leetcode59)

给你一个正整数 n ,生成一个包含 1 到 n^2所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 对于螺旋矩阵来讲难点主要在于行或列放置元素时的边界条件,我们遵循一个循环不变量原则在放置行或列元素时遵循左闭右开来放置元…...

以往运维岗本人面试真题分享

以下是本人面试运维岗的一些面试经历,在此做个记录分享 目录 TCP/IP三次握手 IPtables IPtables四表五链都是什么? nat端口如何做? 开放本机的80端口该如何做? 如何在单用户模式下引导Centos? nginx轮询模式都有…...

macOS解决U盘装完系统容量变小的问题

发现原来256GB容量的U盘在mac电脑上只显示34GB,想起来之前用该U盘装过系统,最终搜到了以下解决方案,在此记录: (1) 查看盘符列表,找到需要格式化的U盘,假设为disk4 diskutil list(2) 卸载分区disk4 disk…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...