Git用戶簽名的修改取消及優(yōu)先級(jí)拓展教程
1、修改用戶簽名
其實(shí)很簡(jiǎn)單,就是重新執(zhí)行git config
命令,換個(gè)用戶名和郵箱地址就可以了,新配置的內(nèi)容會(huì)覆蓋之前配置的內(nèi)容,達(dá)到了用戶簽名的修改。
以系統(tǒng)用戶為例:
# 查看系統(tǒng)級(jí)別的用戶配置 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 # 修改系統(tǒng)用戶配置 L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master) $ git config --system user.name 'zhu_bj' # 查看系統(tǒng)級(jí)別的用戶配置 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
提示:
- 系統(tǒng)級(jí)別的配置對(duì)應(yīng)的是所有操作系統(tǒng)的用戶,全局配置對(duì)應(yīng)的是單個(gè)系統(tǒng)用戶對(duì)所有Git倉(cāng)庫(kù)的配置,本地配置是對(duì)單個(gè)Git倉(cāng)庫(kù)的配置。
- 所以綜上所述,在一臺(tái)計(jì)算機(jī)中,系統(tǒng)用戶只能有一個(gè),全局用戶是每一個(gè)用戶可以設(shè)置一個(gè),本地用戶可以設(shè)置多個(gè)(一個(gè)本地版本庫(kù)對(duì)應(yīng)一個(gè))。
2、取消用戶簽名
語(yǔ)法:
git config --配置文件范圍 --unset user.name git config --配置文件范圍 --unset user.email
示例:取消系統(tǒng)用戶的用戶名和郵箱設(shè)置:
# 取消系統(tǒng)用戶的用戶名和郵箱設(shè)置 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 # 查看系統(tǒng)級(jí)別的用戶配置,可以看到?jīng)]有系統(tǒng)用戶的配置了。 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
提示:全局用戶同理,本地用戶需要到倉(cāng)庫(kù)中執(zhí)行命令,也是同理的。
3、用戶簽名的優(yōu)先級(jí)
之前我們講過執(zhí)行git config
命令有三個(gè)作用域,分別是local、global、system
。
接下來,要探討的是,這三個(gè)配置作用域的優(yōu)先級(jí)。
(1)先查看本機(jī)Git用戶簽名配置
# 查看系統(tǒng)用戶簽名 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
可以看到:
- 系統(tǒng)用戶簽名:
tang_s
- 全局用戶簽名:
sun_wk
- 本地用戶簽名:
sha_hs
(2)創(chuàng)建一個(gè)文件,提交到本地版本庫(kù)中。
1)在倉(cāng)庫(kù)中創(chuàng)建一個(gè)文本。
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)提交這個(gè)文本到本地Git倉(cāng)庫(kù)中。
# 1.查看工作目錄和暫存區(qū)中文件的狀態(tài), # 發(fā)現(xiàn)工作區(qū)中有一個(gè)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添加到暫存區(qū),被git納入管理 L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master) $ git add test.java # 3.再次查看工作目錄和暫存區(qū)中文件的狀態(tài), # 可以看到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提交到本地版本庫(kù)中 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
說明上邊的一些列操作:這里簡(jiǎn)單解釋一下,之后會(huì)詳細(xì)說明。
使用Git的好處之一就是,如果出錯(cuò)了,它的提示信息是非常詳細(xì)的,認(rèn)真的耐心的看一看,就能夠解決。
執(zhí)行$ git status
命令:用于顯示工作目錄和暫存區(qū)中文件的狀態(tài)。
文件是紅色的,意思是test.java
文件還沒有被Git管控,這個(gè)時(shí)候直接使用git commit
命令是不能生效的。
將文件加入Git的暫存區(qū)。
這時(shí)就要對(duì)新加入的文件執(zhí)行git add + 文件名
,讓Git對(duì)該文件進(jìn)行管控,在看一下Git的狀態(tài)。
綠色表示該文件已經(jīng)被Git管理了,該文件已經(jīng)在Git的暫存區(qū)當(dāng)中了(stage
)。
此時(shí)便可以對(duì)test.java文件生成一個(gè)正式的commit
了。
執(zhí)行$ git commit -m 'add Test_text'
-m
:就是說你這此變更的理由或者原因是什么。
提示master
分支根部的commit
已經(jīng)創(chuàng)建出來了。
(3)查看Git日志。
執(zhí)行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
這三個(gè)用戶簽名都存在的情況下,是通過本地用戶進(jìn)行的提交,所以說明本地用戶sha_hs
的優(yōu)先級(jí)最高。
提示:
- 黃顏色的一串?dāng)?shù)字是本次
commit
的id
號(hào)。 Author
表示完成這一次提交的作者。
(4)配置文件級(jí)別的優(yōu)先級(jí)總結(jié)。
- 就近原則:
項(xiàng)目(本地)級(jí)別優(yōu)先于用戶(全局)級(jí)別,用戶級(jí)別優(yōu)先于系統(tǒng)級(jí)別。
三者都有時(shí)采用項(xiàng)目級(jí)別的簽名。 - 如果只有用戶級(jí)別的簽名,就以用戶級(jí)別的簽名為準(zhǔn)。
- 三者都沒有簽名,不允許,無(wú)法提交變更到本地版本庫(kù)。
4、總結(jié)本文用到的Git命令
序號(hào) | Git命令 | 說明 |
---|---|---|
1 | $ git status | 查看當(dāng)前工作區(qū)和暫存區(qū)文件的狀態(tài) |
2 | $ git add | 可以將跟蹤到的更新放到暫存區(qū)(更新包括新增、修改、刪除等操作) |
3 | $ git commit -m 'add Test_text' | 提交更新 |
4 | $ git log | 查看提交歷史 |
注意:
執(zhí)行git status
命令后,出現(xiàn)“Changed but not updated”
t提示,說明已跟蹤文件的內(nèi)容發(fā)生了變化,但還沒有放到暫存區(qū)。
以上就是Git用戶簽名的修改取消及優(yōu)先級(jí)拓展教程的詳細(xì)內(nèi)容,更多關(guān)于Git用戶簽名修改取消優(yōu)先級(jí)拓展的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
chrome擴(kuò)展學(xué)習(xí) 右鍵菜單實(shí)現(xiàn)代碼
chrome擴(kuò)展學(xué)習(xí) 右鍵菜單實(shí)現(xiàn)代碼,需要的朋友可以參考下2012-11-11IDEA出現(xiàn)java:程序包javax.servlet不存在問題解決方法
這篇文章主要給大家介紹了關(guān)于IDEA出現(xiàn)java:程序包javax.servlet不存在問題的解決方法,這個(gè)錯(cuò)誤提示意味著你的Java程序中缺少了javax.servlet這個(gè)包,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11細(xì)說ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32編碼
本文主要介紹了細(xì)說ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32編碼,詳細(xì)的介紹了這些編碼的知識(shí),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09解決appcode打開workspace無(wú)法找到xcodeproj項(xiàng)目文件問題
這篇文章主要介紹了解決appcode打開workspace無(wú)法找到xcodeproj項(xiàng)目文件問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02