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:推送当前分支到其上游分支。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/59641.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 npm 安装 Yarn

PS E:\WeChat Files\wxid_fipwhzebc1yh22\FileStorage\File\2024-11\spid-admin\spid-admin> yarn install yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后…

常用在汽车PKE无钥匙进入系统的高度集成SOC芯片:CSM2433

CSM2433是一款集成2.4GHz频段发射器、125KHz接收器和8位RISC(精简指令集)MCU的SOC芯片,用在汽车PKE无钥匙进入系统里。 什么是汽车PKE无钥匙进入系统? 无钥匙进入系统具有无钥匙进入并且启动的功能,英文名称是PKE&…

机器学习基础05

目录 1.随机森林 1.1随机森林的介绍 1.2算法原理 1.3API 2.线性回归 2.1回归的含义 2.2线性回归 2.3损失函数 2.4多参数回归 2.5最小二乘法MSE 2.6API 1.随机森林 集成学习的基本思想就是将多个分类器组合,从而实现一个预测效果更好的集成分类器。 集成…

数据库范式、MySQL 架构、算法与树的深入解析

一、数据库范式 在数据库设计中,范式是一系列规则,用于确保数据的组织和存储具有良好的结构、完整性以及最小化的数据冗余。如果不遵循范式设计,数据可能会以平铺式罗列,仅使用冒号、分号等简单分隔。这种方式存在诸多弊端&#…

SQL面试题——奔驰SQL面试题 车辆在不同驾驶模式下的时间

SQL面试题——奔驰SQL面试题 我们的表大致如下 CREATE TABLE signal_log( vin STRING COMMENTvehicle frame id, signal_name STRING COMMENTfunction name, signal_value STRING COMMENT signal value , ts BIGINT COMMENTevent timestamp, dt STRING COMMENTformat yyyy-mm…

Hadoop生态圈框架部署(六)- HBase完全分布式部署

文章目录 前言一、Hbase完全分布式部署(手动部署)1. 下载Hbase2. 上传安装包3. 解压HBase安装包4. 配置HBase配置文件4.1 修改hbase-env.sh配置文件4.2 修改hbase-site.xml配置文件4.3 修改regionservers配置文件4.4 删除hbase中slf4j-reload4j-1.7.33.j…

YOLOv11改进,YOLOv11添加GnConv递归门控卷积,二次创新C3k2结构

摘要 视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnCo…

Queuing 表(buffer表)的优化实践 | OceanBase 性能优化实践

案例问题描述 该案例来自一个金融行业客户的问题:他们发现某个应用对一个数据量相对较小的表(仅包含数千条记录)访问时,频繁遇到性能下降的情况。为解决此问题,客户向我们求助进行分析。我们发现这张表有频繁的批量插…

CentOS 8 安装 chronyd 服务

操作场景 目前原生 CentOS 8 不支持安装 ntp 服务,因此会发生时间不准的问题,需使用 chronyd 来调整时间服务。CentOS 8以及 TencentOS 3.1及以上版本的实例都使用 chronyd 服务实现时钟同步。本文介绍了如何在 CentOS 8 操作系统的腾讯云服务器上安装并…

AI大模型(二):AI编程实践

一、软件安装 1. 安装 Visual Studio Code VSCode官方下载:Visual Studio Code - Code Editing. Redefined 根据自己的电脑系统选择相应的版本下载 安装完成! 2. 安装Tongyi Lingma 打开VSCode,点击左侧菜单栏【extensions】,…

Win10/11 安装使用 Neo4j Community Edition

如果你下载的是 Neo4j Community Edition 的压缩包,意味着你需要手动解压并配置 Neo4j。以下是详细的使用步骤: 0. 下载压缩包 访问Neo4j官网,找到 Community Edition 版本并选择 4.x 或者 5.x 下载:https://neo4j.com/deployme…

使用json配置动态区间及动态执行公式

背景 有时候可能线上一直需要调整公式或者区间以及参数等等,如果使用代码方式,将会变得比较麻烦,可以在redis或者数据库配置一份动态配置,让代码进行解析并执行,可以对公式以及参数等进行动态调节 需求 x 是估值&…

腾讯地图GL JS点标识监听:无dragend事件的经纬度获取方案

引入腾讯地图SDK <!--腾讯地图 API--><script charset"utf-8" src"https://map.qq.com/api/gljs?librariestools&v1.exp&key***"></script>构建地图容器 <div class"layui-card"><div class"layui-car…

Tiktok对接和内容发布申请流程

这段时间在搞AI生成视频&#xff0c;希望用户能一键发布到Tiktok&#xff0c;因此研究了一下Tiktok的开发者申请流程&#xff0c;发现好复杂&#xff0c;同时也发现Tiktok的开发也跟我一样&#xff0c;挺草台班子的 0、流程简述 废话不多说&#xff0c;Tiktok的开发者申请和…

企业生产环境-麒麟V10(ARM架构)操作系统部署kafka高可用集群

前言&#xff1a;Apache Kafka是一个分布式流处理平台&#xff0c;由LinkedIn开发并捐赠给Apache软件基金会。它主要用于构建实时数据流管道和流应用。Kafka具有高吞吐量、可扩展性和容错性的特点&#xff0c;适用于处理大量数据。 以下是Kafka的一些核心概念和特性&#xff1…

xcode-select: error: tool ‘xcodebuild‘ requires Xcode, but active developer

打开 .sh 文件所在的终端窗口&#xff0c;执行终端命令&#xff1a;sh 文件名.sh&#xff0c;出现如下错误&#xff1a; 解决办法&#xff1a;

CC6学习记录

&#x1f338; cc6 cc6和cc1的国外链其实后半条链子是一样的&#xff0c;但是cc6的不局限于jdk的版本和commons-collections的版本。 回忆一下cc1的后半条链子&#xff1a; LazyMap.get()->InvokerTransformer.transform() 这里我们就结合了URLDNS链的思路&#xff0c;在…

嵌入式硬件实战基础篇(一)-STM32+DAC0832 可调信号发生器-产生方波-三角波-正弦波

引言&#xff1a;本内容主要用作于学习巩固嵌入式硬件内容知识&#xff0c;用于想提升下述能力&#xff0c;针对学习STM32与DAC0832产生波形以及波形转换&#xff0c;对于硬件的降压和对于前面硬件篇的实际运用&#xff0c;针对仿真的使用&#xff0c;具体如下&#xff1a; 设…

网络安全练习之 ctfshow_web

文章目录 VIP题目限免&#xff08;即&#xff1a;信息泄露题&#xff09;源码泄露前台JS绕过协议头信息泄露robots后台泄露phps源码泄露源码压缩包泄露版本控制泄露源码(git)版本控制泄露源码2(svn)vim临时文件泄露cookie泄露域名txt记录泄露敏感信息公布内部技术文档泄露编辑器…

ReactPress与WordPress:一场内容管理系统的较量

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress WordPress官网&#xff1a;https://wordpress.org/ ReactPress与WordPress&#xff1a;一场内容管理系统的较量 在当今数字化时代&#xff0c;内容管理系统&#xff08;CMS&#xff09;已成为…