Git配置用户签名方式及原因说明
作者:繁华似锦Fighting 发布时间:2022-06-17 05:54:50
1、为什么要创建用户签名
作为版本控制系统的客户端,每台客户机对版本库的所有提交操作,都需要注明操作者的身份。所以客户机首先需要进行自我身份的注册,即创建用户。Git要求“用户名和Email"这两样信息是必不可少的。
也就是说再让Git干活之前,必须得做一个最小配置,要把参与项目开发的工作人员的user.name
以及user.email
进行设置。
配置签名的作用:只是区分不同开发人员的身份。
2、为什么要在Git中配置这些信息
我们每一次的变更,在哪个时间点,是谁做出的变更,这两个信息是跟着某个变更的信息捆绑在一起。同时我们在做code review
(代码审查)的时候,每一次的变更,如果带上了用户的email
地址,那么评审的人员在平台上面指出了你哪个文件、哪个地方有问题之后。
那我们Git的版本管控的web
系统,它就自动的会把变更者的email
取出来,然后发个邮件给变更的人。所以你变更的信息中的用户name
和email
是必须配置起来的。
假使大家在用Git的时候如果忘了做这个配置,那后期你在Git做过变更提交的时候,他会有一长串的提示信息,告诉你必须做相关的配置。如下:
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'L@DESKTOP-T2AI2SU.(none)')
3、创建用户签名的方式
Git具有三种不同的方式创建用户签名,会产生三种不同作用域的用户。
这三种创建方式的用户信息,会写到三个不同位置的配置文件中。
这三种用户的创建均需要使用git config
命令,只不过使用的选项不同。
这三个级别为local
、global
、system
。说明如下:
项目级别/仓库级别(local):
文件位置:该文件位于当前仓库下的.git
目录中,文件名为config
。
作用:是指对某一个Git仓库生效的。也就是说我们在使用Git管理文件系统的时候,它不是整个操作系统级别的管理。
比如他是在某一个地方建了一个Git的仓库,相当于是独立的一个项目管控的一个区域。
如果设置了local
的话,Git所配置的这些信息(user.name
,usere.mail
),只会针对当前你工作的仓库有效。如果说切换到另外一个Git的仓库,那local范围的配置值就不再生效了。
用户级别/全局级别(global):
文件位置:在计算机中系统盘的个人用户目录中,如:C:\Users\L\.gitconfig
。注意,如果没有配置过用户级别级别的配置信息,是没有该文件的,配置一次就会自动生成的。
作用:比如说我的电脑中有十个Git仓库,global
级别的这些配置,对这十个仓库都是有效的,也就是对当前用户对本地的所有仓库都有效。
所以有些时候,很可能为了提高效率,就可以用global
范围进行配置用户签名,就没必要登录到一个一个的仓库里面做这种配置,所以工作当中global
的方式是非常常用的。
(即:表示授权一个用户对该计算机中所有的仓库都有权操作)
系统级别(system):
文件位置:文件在本地Git的安装目录下,...\etc\gitconfig
文件中。
作用:表示只要登陆了该操作系统的用户,就对系统中的所有Git仓库有操作权。
它是对系统所有登录的用户都有效,这个范围不常用(基本不用)。
提示:这三种创建用户签名的作用域由大到小依次是:系统用户,全局用户与本地库用户。
在多种用户都进行了创建的前提下,小范围用户签名会覆盖大范围用户签名,即默认会以小范围用户来操作Git。
4、总结
一般在新的Git版本控制系统上,我们都需要先配置下自己的Git工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。
个人的用户名称和电子邮件地址,这两条配置很重要,每次Git提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容起被永久纳入版本历史记录。
每个机器都必须自报家门,就是你的签名(名字和Email地址)。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
来源:https://www.cnblogs.com/liuyuelinfighting/p/16158712.html


猜你喜欢
- 使用WSH调用系统的Ping命令,将Ping的结果重定向到一个文本文件中去,再把文本文件显示到网页中具体做法如下:首先, 建一个.BAT文件
- 本文实例讲述了Python事务操作实现方法。分享给大家供大家参考,具体如下:#coding=utf-8import sysimport My
- 内容摘要:Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮
- 前言网站登录的时候我们常常会看到随机的验证码需要输入后台验证,如图:现在我们来实现在Django中通过自定制插件来实现随机验证check_c
- 下面,我们将会介绍 2014 年最火的 21 款JavaScript 框架,专为前端开发者准备的哦:)众所周知, JavaScript 框架
- 抛出问题:求一数组如 l = [0, 1, 2, 3, -4, 5, -6],求该数组的最大连续子数组的和 如结果为[0,1,2,3,-4,
- 本文实例讲述了python实现根据图标提取分类应用程序,分享给大家供大家参考。具体方法如下:#!/usr/bin/python # -*-
- 调用时输入参数如: www.jb51.net/表示删除www.jb51.net首页的缓存, www.jb51.net/test.
- 1 获取当前完整时间1.1 now()函数select now();输出:2023-02-15 10:46:171.2 sysdate()函
- 概要相信很多像我一样初入门前端的时候,都是基于某个模板来学。 vue-element-admin 或者 vue-element-templa
- 前言随着微信的普及,越来越多的人开始使用微信。微信渐渐从一款单纯的社交软件转变成了一个生活方式,人们的日常沟通需要微信,工作交流也需要微信。
- Oracle数据库在使用的过程中常常会遇到这样或那样的问题,而这些问题常常又使我们感到很困惑,本文我们总结了Oracle数据库在使用过程中的
- 三角形是个好东西,比如知道三条边边长,可以判断能不能组成三角形(两边之和大于第三边),如果可以就进一步计算其面积(海伦公式),最后还能把这个
- 前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。from math
- 相比于原生的python开发核心包,Anaconda已经集成了许多的第三方库,但是这在实际应用中是远远不够的,因此我们需要手动安装第三方库使
- 一、什么是用户体验?用户体验的名词解释用户体验(User Experience,简称UE)是一种纯主观的在用户使用一个产品(服务)的过程中建
- 本文实例讲述了python开启多个子进程并行运行的方法。分享给大家供大家参考。具体如下:这个python代码创建了多个process子进程,
- 过滤器过滤器的本质就是函数。有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化、运算等等,而在模板中是不能直接调用
- 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQ
- 提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是"system"和&quo