網站首頁 編程語言 正文
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
我們可以看到,在system
、global
、local
這三個用戶簽名都存在的情況下,是通過本地用戶進行的提交,所以說明本地用戶sha_hs
的優先級最高。
提示:
- 黃顏色的一串數字是本次
commit
的id
號。 -
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提示,說明已跟蹤文件的內容發生了變化,但還沒有放到暫存區。
原文鏈接:https://www.cnblogs.com/liuyuelinfighting/p/16169058.html
相關推薦
- 2022-06-16 C語言學習筆記之字符串間的那些事_C 語言
- 2022-09-05 Linux系統下創建守護進程
- 2022-10-03 numpy中nan_to_num的具體使用_python
- 2022-04-03 python中如何利用matplotlib畫多個并列的柱狀圖_python
- 2022-06-25 如何利用Pandas刪除某列指定值所在的行_python
- 2022-07-08 圖文詳解Nginx多種匹配方式_nginx
- 2022-06-27 教你用Python按順序讀取文件夾中文件_python
- 2021-12-06 Flutter多項選擇彈窗實現詳解_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支