Git配置詳解

天行健,君子以自強不息;地勢坤,君子以厚德載物。


每個人都有惰性,但不斷學習是好好生活的根本,共勉!


文章均為學習整理筆記,分享記錄為主,如有錯誤請指正,共同學習進步。

文章目錄

  • 一、Git介紹
    • 1. 本地版本控制系統
    • 2. 集中式版本控制系統
    • 3. 分布式版本控制系統
  • 二、Git配置
    • 1. Git配置工具config的介紹
      • 1.1 `/etc/gitconfig`文件
      • 1.2 `~/.gitconfig`或者`~/.config/git/config`文件:
      • 1.3 當前倉庫的Git目錄中的config文件(`.git/config`)
    • 2. 查看Git的配置信息
      • 2.1 查看Git配置文件及文件位置
      • 2.2 查看Git配置參數列表
    • 3. 配置Git的用戶信息
      • 3.1 全局配置用戶信息
      • 3.2 特定項目配置用戶信息
      • 3.3 查看Git單一參數
    • 4. 配置Git界面顏色
    • 5. 配置Git忽略文件
      • 5.1 `.*`
      • 5.2 `*.class`
      • 5.3 `a.class`
      • 5.4 `!.*`
      • 5.5 `!*.class`
    • 6. 配置Git命令別名
      • 6.1 配置方式
      • 6.2 舉例
      • 6.3 刪除別名


Git相關文章參考:
Git學習和使用指南簡單篇
Git學習和使用指南詳細篇
Git命令匯總

一、Git介紹

常見的版本控制系統有:本地版本控制系統、集中式版本控制系統、分布式版本控制系統

1. 本地版本控制系統

復制整個項目目錄作為版本控制文件
流行的本地版本控制系統如RCS
在硬盤上保存補丁集,每個補丁記錄一個版本的變動

2. 集中式版本控制系統

英文Centalized Version Control System,簡稱CVCS,使用一個集中管理的服務器保存版本控制文件
優點是每個人都能看到別人做了什么修改
缺點是服務器一旦宕機就無法提交更新,若服務器磁盤未做備份,一旦損壞無法恢復
主流的集中式版本控制系統如:CVS、Subversion、Perforce

3. 分布式版本控制系統

Distributed Version Control System,簡稱DVCS,代碼倉庫和記錄都會被鏡像到本地,也就是服務器和本地都有備份項目代碼和歷史記錄
優點是速度更快,協作更方便
主流的集中式版本控制系統如:Git、Mercurial、Bazaar、Darcs

二、Git配置

.gitignore文件中的語法:
#表示注釋
*.class表示排除所有.class文件
!.class表示不排除.class文件
app.class表示排除app.class文件
!app.class表示不排除app.class文件

Git命令

1. Git配置工具config的介紹

git的外觀和行為配置都使用git config工具來控制
外觀和行為配置的變量存儲在三個位置:/etc/gitconfig~/.gitconfig或者~/.config/git/config.git/config

1.1 /etc/gitconfig文件

存放系統上每一個用戶及用戶的倉庫的通用配置
執行git config命令時帶上–system選項就會讀寫該文件中的配置變量,但需要系統管理員權限

1.2 ~/.gitconfig或者~/.config/git/config文件:

該文件只配置用戶參數,可通過–global選項讓git強制讀寫該文件,會對系統所有倉庫項目生效

1.3 當前倉庫的Git目錄中的config文件(.git/config

當前倉庫的Git目錄中的config文件(.git/config)
對當前倉庫生效,進入某個git倉庫后,默認情況下就會使用該文件,但可通過–local選項讓git強制讀寫該文件

2. 查看Git的配置信息

2.1 查看Git配置文件及文件位置

查看配置文件及所在位置的命令

git config --list --show-origin

注意:
.git/config的配置會覆蓋/etc/config的配置
在windows中查看配置文件和位置時,git會查找C:\Users$USER的.gitconfig文件
這里$USER是變量,對應的是你自己電腦的用戶名

2.2 查看Git配置參數列表

查看Git配置參數列表,如賬號名郵箱等的參數內容

git config --list

3. 配置Git的用戶信息

3.1 全局配置用戶信息

在機器的整個環境下所有項目都會使用這個用戶信息提交代碼
用戶名配置,寒山是我自定義的用戶名

git config --global user.name "寒山"

郵箱配置,hanshan@163.com是我自己的郵箱(假的,這名字被人取了)

git config --global user.email hanshan@163.com

3.2 特定項目配置用戶信息

在某個項目下想使用單獨的用戶信息提交代碼,可使用不帶–global的命令配置用戶信息
某個項目目錄下配置用戶名

git config user.name "hanshan"

某個項目目錄下配置用戶郵箱

git config user.email hanshan@163.com

3.3 查看Git單一參數

查看用戶名

git config user.name

查看郵箱

git config user.email

等等

4. 配置Git界面顏色

git config --global color.ui true

5. 配置Git忽略文件

在提交時想忽略一些文件不提交,如密碼等配置文件,可使用.gitignore文件配置
在git工作區的根目錄即.git文件同級目錄,創建.gitignore文件(正常在使用遠程倉庫時會自動生成)
在.gitignore文件中編寫需要忽略的文件即可

忽略具體某個文件則只需在.gitignore文件中寫該文件名即可
忽略某一類型的文件可使用*.類型的方式,如忽略.class結尾的文件可寫成*.class

還有一種情況就是忽略某一類型文件后其中有一個文件不想忽略,則可將該文件卸載忽略文件中并加上!,如忽略.class結尾文件后不想忽略java.class文件,可以在.gitignore中寫!java.class

忽略文件.gitignore語法

5.1 .*

.*表示忽略所有以.開頭的文件

5.2 *.class

*.class表示忽略所有以.class結尾的文件

5.3 a.class

a.class表示忽略文件a.class

5.4 !.*

!.*表示不排除以.開頭的文件

5.5 !*.class

!*.class表示不排除所有以.class結尾的文件

注意:
如果想強制添加被忽略的文件,執行時加-f參數強制執行即可

git add -f a.class				

檢查忽略規則

git check-ignore

6. 配置Git命令別名

當使用git命令時,可以通過配置git命令別名來簡寫git命令
如git add .可換成git a .
git commit -am"" 可以換成git cm -am""
git pull 可以換成git pl
git push 可以換成git ps

6.1 配置方式

--global是配置全局,不加則只對當前用戶
語法如下

git config --global alais.gitNewCommands 'git-origin-commands'

gitNewCommands表示新命令即別名
git-origin-commands表示原命令

6.2 舉例

git config --global alais.a add
git config  --global alais.cm commit

當然除了單詞的縮寫,還可以將組合命令簡寫
如顯示最后一次提交信息

git log -1
git config --global alais.last 'log -1'

后續即可使用git last相當于git log -1

6.3 刪除別名

如何將配置的別名刪除
全局配置文件的刪除方法:
在.git/config文件中的alais部分是別名的配置參數,刪除對應的別名即可
用戶配置文件的刪除方法:
當前用戶的配置文件放在用戶目錄下的.gitconfig中,刪除文件中對應的別名即可


感謝閱讀,祝君暴富!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14367.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14367.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14367.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

js實現元素根據鼠標滾輪滾動向左右上下滑動著從模糊到清楚顯示出來

html代碼 <div ref{test} id"animatedElement" className"not-animated"> <div style{{width:"100px",height:"50px",backgroundColor:"red"}}> </div> </div> JS代碼 const te…

用智能插件(Fitten Code: Faster and Better AI Assistant)修改好了可以持久保存的vue3留言板

天際 第一修改是選項式&#xff1a; <!-- 模板結構 --> <template><div><textarea placeholder"請輸入備注內容" v-model"newItem"></textarea><button click"addItem">添加</button><hr><…

Vue2+Element 封裝評論+表情功能

有需要的小伙伴直接拿代碼即可&#xff0c;不需要下載依賴&#xff0c;目前是初始版本&#xff0c;后期會進行代碼的優化。 評論組件如下&#xff1a; 創建 comment.vue 文件。 表情組件 VueEmoji.vue 在評論組件中使用。 <template><div class"comment"…

《主對角線求和》

描述 有一個n行n列的二維數組&#xff0c;請你求出二維數組的主對角線上的所有數字的和是多少。 輸入描述 第一行一個整數n&#xff0c;代表下面輸入的是n行n列(2≤n≤10)的二維數組&#xff1b; 接下來n行&#xff0c;每行n列&#xff0c;表示二維數組的每個元素各是多少。 …

數字孿生技術在管理中有哪些實際應用?

隨著科學技術的不斷提高&#xff0c;數字孿生技術也在不斷的從理論應用至現實&#xff0c;并且涉及領域較為廣泛。 在生產運營管理層面&#xff0c;通過構建數字孿生模型&#xff0c;企業可以精準模擬和優化生產線&#xff0c;實現生產流程的智能化和高效化。比如&#xff0c;…

TypeScript-搭建編譯環境

搭建編譯環境 TypeScript 編寫的代碼是無法直接在js引擎( 瀏覽器 / Nodejs )中運行的&#xff0c;最終還需要經過編譯成js代碼才可以正常運行 搭建手動編譯環境 1?? 全局安裝 typescript 包&#xff08;編譯引擎&#xff09; -> 注冊 tsc 命令 npm i -g typescript 2…

下拉框操作/鍵鼠操作/文件上傳

在我們做UI自動化測試的時候&#xff0c;會有一些元素需要特殊操作&#xff0c;比如下拉框操作/鍵鼠操作/文件上傳。 下拉框操作 在我們很多頁面里有下拉框的選擇&#xff0c;這種元素怎么定位呢&#xff1f;下拉框分為兩種類型&#xff1a;我們分別針對這兩種元素進行定位和…

2024最新 Jenkins + Docker 實戰教程(五)- 配置Gitee Webhooks實現自動構建部署

&#x1f604; 19年之后由于某些原因斷更了三年&#xff0c;23年重新揚帆起航&#xff0c;推出更多優質博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有堅忍不拔之志 &#x1f390; 個人CSND主頁——Mi…

Packet Tracer-HSRP+DHCPv4+VLAN間路由+以太通道綜合實驗

實驗拓撲&#xff1a; 實驗內容&#xff1a; VLAN及VLAN間路由的配置&#xff0c;以太通道的配置&#xff0c;STP的根調整&#xff0c;DHCPv4的配置&#xff0c;首跳冗余HSRP的配置。 實驗最終結果&#xff1a; PC可以自動獲取到DHCP-Server分配的IP地址&#xff0c;實現首跳…

【Sentinel】Sentinel配置zk持久化

代碼 import cn.hutool.core.util.StrUtil; import com.alibaba.csp.sentinel.datasource.ReadableDataSource; import com.alibaba.csp.sentinel.datasource.zookeeper.ZookeeperDataSource; import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRule; import com.a…

信息系統工程師--八大績效域-交付績效域

信息系統工程師的八大績效域包括&#xff1a;干系人、團隊、開發方法和生命周期、項目工作、規劃、交付、度量、不確定性。 預期目標 1、項目有助于實現業務目標和戰略 2、項目實現了預期成果 3、在預定時間內實現了項目收益 4、項目團隊對需求有清晰的理解 5、干系人接受…

GitLab的原理及應用詳解(五)

本系列文章簡介: 隨著軟件開發的不斷進步和發展,版本控制系統成為了現代軟件開發過程中不可或缺的一部分。而GitLab作為其中一種流行的版本控制工具,在軟件開發領域享有廣泛的應用。GitLab不僅提供了強大的版本控制功能,還集成了項目管理、持續集成和部署、代碼審查等多個功…

web學習筆記(五十七)

目錄 1. 面試題總結 1.1 public和assets區別 1.2 vite的作用 1.3 vue單頁面應用 1.4 組件分為兩種類型&#xff1a; 1.5 App.vue文件 1.6 main.js 1.7 vue2中為什么不能直接監聽到數組的改變&#xff1f; 2. .vue頁面的組成 3. ref 響應式數據 1. 面試題總結 1.1…

Web3革命:探索科技與物聯網的無限可能

引言 Web3時代正在悄然而至&#xff0c;帶來了對互聯網的徹底顛覆和改變。作為互聯網的下一代&#xff0c;Web3不僅是技術革新的延續&#xff0c;更是對傳統互聯網模式的重新構想。在這個新時代&#xff0c;科技與物聯網的結合將迎來無限的可能性&#xff0c;將探索到一片全新…

iOS系統故障怎么辦?這三種蘋果手機系統修復方法你一定要知道

隨著蘋果手機使用時間越長&#xff0c;蘋果手機有時也會出現系統問題&#xff0c;如卡頓、崩潰、無法啟動等。這些問題不僅影響用戶的使用體驗&#xff0c;還可能導致數據丟失。因此&#xff0c;掌握蘋果手機系統修復方法顯得尤為重要。本文將詳細介紹蘋果手機系統修復的常見方…

Leetcode 3153. Sum of Digit Differences of All Pairs

Leetcode 3153. Sum of Digit Differences of All Pairs 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3153. Sum of Digit Differences of All Pairs 1. 解題思路 這一題的話只需要統計一下每一個位上0-9各自出現了多少次即可。 然后&#xff0c;對于每一位&#xff0c;答…

數倉領域,Serving 是什么概念?

在數據倉庫&#xff08;Data Warehouse&#xff09;和更廣泛的數據工程領域中&#xff0c;“Serving”通常指的是將處理和優化后的數據提供給最終用戶或應用程序的過程。這包括數據的查詢、檢索、展示等操作&#xff0c;使得數據能夠在決策支持、報告、分析、或機器學習等應用中…

大模型之Ollama:在本地機器上釋放大型語言模型的強大功能

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

實戰Java虛擬機-實戰篇

一、內存調優 1.內存溢出和內存泄漏 內存泄漏&#xff08;memory leak&#xff09;&#xff1a;在Java中如果不再使用一個對象&#xff0c;但是該對象依然在GC ROOT的引用鏈上&#xff0c;這個對象就不會被垃圾回收器回收&#xff0c;這種情況就稱之為內存泄漏。內存泄漏絕大…

一番賞小程序開發,為玩家帶來線上抽賞魅力

隨著人們對娛樂消費的增加&#xff0c;以及二次元文化的快速發展&#xff0c;以動漫IP為主的一番賞受到了越來越多的年輕人關注&#xff0c;一番賞市場迎來了黃金發展期&#xff01; 一番賞的運營模式是以“限量”為主&#xff0c;不管什么商品數量都是有限的&#xff0c;因此…