Git用户签名的修改取消及优先级拓展教程

 更新时间:2022年04月24日 11:22:07   作者:繁华似锦Fighting  
这篇文章主要为大家介绍了Git用户签名的修改取消及优先级拓展教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

1、修改用户签名

其实很简单,就是重新执行git config命令,换个用户名和邮箱地址就可以了,新配置的内容会覆盖之前配置的内容,达到了用户签名的修改。

以系统用户为例:

# 查看系统级别的用户配置
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list --system
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
http.sslcainfo=F:/DevInstall/Git/GitforWindows/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
credential.helper=manager
user.name=tang_s  # 这里是tang_s
user.email=tang_s@126.com
# 修改系统用户配置
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --system user.name 'zhu_bj'
# 查看系统级别的用户配置
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list --system
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
http.sslcainfo=F:/DevInstall/Git/GitforWindows/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
credential.helper=manager
user.name=zhu_bj	# 这里是zhu_bj
user.email=tang_s@126.com

提示:

  • 系统级别的配置对应的是所有操作系统的用户,全局配置对应的是单个系统用户对所有Git仓库的配置,本地配置是对单个Git仓库的配置。
  • 所以综上所述,在一台计算机中,系统用户只能有一个,全局用户是每一个用户可以设置一个,本地用户可以设置多个(一个本地版本库对应一个)。

2、取消用户签名

语法:

git config --配置文件范围 --unset user.name
git config --配置文件范围 --unset user.email

示例:取消系统用户的用户名和邮箱设置:

# 取消系统用户的用户名和邮箱设置
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --system --unset user.name
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --system --unset user.email
# 查看系统级别的用户配置,可以看到没有系统用户的配置了。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list --system
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
http.sslcainfo=F:/DevInstall/Git/GitforWindows/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
credential.helper=manager

提示:全局用户同理,本地用户需要到仓库中执行命令,也是同理的。

3、用户签名的优先级

之前我们讲过执行git config命令有三个作用域,分别是local、global、system

接下来,要探讨的是,这三个配置作用域的优先级。

(1)先查看本机Git用户签名配置

# 查看系统用户签名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list --system
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
http.sslcainfo=F:/DevInstall/Git/GitforWindows/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
credential.helper=manager
user.name=tang_s
user.email=tang_s@126.com
# 查看全局用户签名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list --global
user.name=sun_wk
user.email=sun_wk@126.com
# 查看本地用户签名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --list --local
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
user.name=sha_hs
user.email=sha_hs@126.com

可以看到:

  • 系统用户签名:tang_s
  • 全局用户签名:sun_wk
  • 本地用户签名:sha_hs

(2)创建一个文件,提交到本地版本库中。

1)在仓库中创建一个文本。

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ touch test.java
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ ll
total 0
-rw-r--r-- 1 L 197121 0  4月  3 10:54 test.java

2)提交这个文本到本地Git仓库中。

# 1.查看工作目录和暂存区中文件的状态,
# 发现工作区中有一个test.java未被git管理
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
No commits yet
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        test.java
nothing added to commit but untracked files present (use "git add" to track)
# 2.把test.java添加到暂存区,被git纳入管理
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add test.java
# 3.再次查看工作目录和暂存区中文件的状态,
# 可以看到test.java文件被git管理
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   test.java
# 4.把test.java提交到本地版本库中
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git commit -m 'add test.java'
[master (root-commit) e85b3b2] add test.java
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.java

说明上边的一些列操作:这里简单解释一下,之后会详细说明。
使用Git的好处之一就是,如果出错了,它的提示信息是非常详细的,认真的耐心的看一看,就能够解决。

执行$ git status命令:用于显示工作目录和暂存区中文件的状态。

文件是红色的,意思是test.java文件还没有被Git管控,这个时候直接使用git commit命令是不能生效的。

将文件加入Git的暂存区。
这时就要对新加入的文件执行git add + 文件名,让Git对该文件进行管控,在看一下Git的状态。

绿色表示该文件已经被Git管理了,该文件已经在Git的暂存区当中了(stage)。

此时便可以对test.java文件生成一个正式的commit了。

执行$ git commit -m 'add Test_text'

-m :就是说你这此变更的理由或者原因是什么。

提示master分支根部的commit已经创建出来了。

(3)查看Git日志。

执行git log命令,查看Git日志。

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git log
commit e85b3b21a4b296acacf34bf9caeeaa75544a2f2b (HEAD -> master)
Author: sha_hs <sha_hs@126.com>
Date:   Sat Apr 3 10:55:55 2021 +0800
    add test.java

我们可以看到,在systemgloballocal这三个用户签名都存在的情况下,是通过本地用户进行的提交,所以说明本地用户sha_hs的优先级最高。

提示:

  • 黄颜色的一串数字是本次commitid号。
  • Author表示完成这一次提交的作者。

(4)配置文件级别的优先级总结。

  • 就近原则:
    项目(本地)级别优先于用户(全局)级别,用户级别优先于系统级别。
    三者都有时采用项目级别的签名。
  • 如果只有用户级别的签名,就以用户级别的签名为准。
  • 三者都没有签名,不允许,无法提交变更到本地版本库。

4、总结本文用到的Git命令

序号Git命令说明
1$ git status查看当前工作区和暂存区文件的状态
2$ git add可以将跟踪到的更新放到暂存区(更新包括新增、修改、删除等操作)
3$ git commit -m 'add Test_text'提交更新
4$ git log查看提交历史

注意:

执行git status命令后,出现“Changed but not updated” t提示,说明已跟踪文件的内容发生了变化,但还没有放到暂存区。

以上就是Git用户签名的修改取消及优先级拓展教程的详细内容,更多关于Git用户签名修改取消优先级拓展的资料请关注脚本之家其它相关文章!

相关文章

  • 程序员鼓励师插件Rainbow Fart(彩虹屁)

    程序员鼓励师插件Rainbow Fart(彩虹屁)

    这篇文章主要介绍了程序员鼓励师插件Rainbow Fart(彩虹屁)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 关于Git远程与本地冲突的解决方法

    关于Git远程与本地冲突的解决方法

    这篇文章主要给大家介绍了关于Git远程与本地冲突的解决方法,文中给出了详细的解决方法,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
    2017-04-04
  • chrome扩展学习 右键菜单实现代码

    chrome扩展学习 右键菜单实现代码

    chrome扩展学习 右键菜单实现代码,需要的朋友可以参考下
    2012-11-11
  • IDEA出现java:程序包javax.servlet不存在问题解决方法

    IDEA出现java:程序包javax.servlet不存在问题解决方法

    这篇文章主要给大家介绍了关于IDEA出现java:程序包javax.servlet不存在问题的解决方法,这个错误提示意味着你的Java程序中缺少了javax.servlet这个包,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • IE条件语句 IE hack大全

    IE条件语句 IE hack大全

    条件注释只有在IE浏览器被支持,因此仅适用于IE的特殊指令。从IE5起都支持
    2012-05-05
  • Windows使用GitHub Desktop详解

    Windows使用GitHub Desktop详解

    本文详细讲解了Windows使用GitHub Desktop的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 细说ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32编码

    细说ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32编码

    本文主要介绍了细说ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32编码,详细的介绍了这些编码的知识,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 详解BurpSuite安装和配置

    详解BurpSuite安装和配置

    burpsuite是一款用于测试Web安全性的电脑网络安全测试软件,全称为burp suite professional2020,主要是为信息安全从业人员们提供的,本文给大家介绍BurpSuite安装和配置教程,感兴趣的朋友一起看看吧
    2021-09-09
  • 解决appcode打开workspace无法找到xcodeproj项目文件问题

    解决appcode打开workspace无法找到xcodeproj项目文件问题

    这篇文章主要介绍了解决appcode打开workspace无法找到xcodeproj项目文件问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Git的撤销、修改和回退命令

    Git的撤销、修改和回退命令

    这篇文章介绍了Git的撤销、修改和回退命令,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04

最新评论