前言
從這篇文章開始,我將會有一系列git方面的教學文章,主要是結合自己的實際經驗進行演示,旨在幫助大家更加合理,熟練的使用git。
首先給大家提一個問題,在我們使用git提交代碼之前,應該要做什麼準備?
config配置
沒錯,在我們使用git之前,首要做的事就是使用config命令進行配置。
git的安裝這裡就不講了,去官網下載對應操作系統的安裝文件,基本按照默認方式安裝即可。
為什麼配置git是很重要的一步呢?這裡列舉出三點。
最主要的安全和隱私問題。
設置別名,提高工作效率。
設置默認選項。
目前各大公司都會有自己的內部系統的賬號和郵箱,作為內部倉庫的憑證必須設置成公司的賬號和郵箱。但是如果有自己的github倉庫,在提交時一般是避免使用公司的賬號和郵箱的,這個時候就需要配置成自己個人的用戶名和常用郵箱。這種來回的切換要求開發人員對git的配置操作非常嫻熟。
通過配置一些別名,方便快捷的敲出git命令,提高工作效率。
在常用的提交,合併操作中我們可以通過pull+rebase選項去代替fetch+merge,更快捷完成提交流程。
命令config
在git中,所有的配置操作都是通過config命令來完成的。關於config的所有選項有很多,但是我們沒必要全都記住,而且大多數都可以採用默認的配置,我們只需要記住常用的幾個選項就可以了。
--list
--list是列舉出git下所有已經配置的選項,包括全局的和當前目錄下的,其中全局配置會在上半部分展示,當前目錄會在下半部分展示。
下面以我本地的一個倉庫為例。
--global
--global表示的是全局配置,即不管是在哪個項目倉庫下,這個配置都是生效的。
一般在正常情況下,我們首要設置的是用戶名和郵箱,將個人使用的用戶名和郵箱設置為全局的,而將公司使用的用戶名和郵箱設置為內部項目下的。
這裡我們看看全局的設置。
--local
既然有--global全局配置,那就有局部配置。在默認的情況下如果不加--global選項就是局部配置,當然也可以額外使用--local選項。
alias
alias主要是用於設置別名的,像git一些常用的指令都是英文單詞,對於那些已經習慣別名的人來說,他們會覺得這是一件很費時的事情,因此對於alias的設置也是必須的。
git status是用來查看文件修改的命令,可以使用git st來代替。
git pull是用來遠程拉取倉庫代碼的命令,可以使用git pl來代替。
git ps是用來將本地修改推送至遠程倉庫的命令,可以使用git ps來代替。
像這種別名的設置還會有很多,跟大家平時的使用習慣有關,大家可以按照喜好設置。
pull.rebase
關於pull和rebase與fetch和merge的比較已經有很多可以查到的解釋,這個的話我也會單獨寫一篇文章來講解。
對於我自己是非常喜歡pull與rebase的模式,不管是合併代碼還是解決衝突現在都可以輕鬆應對。
如果需要使用pull與rebase的話,我們可以通過config命令將其設置為true。
git config原理
在上面我們有講到過一些常用的配置,有全局的,有當前目錄倉庫的,那麼git是如何去判斷的呢?
git config --system
表示的是系統的用戶級別所擁有的倉庫配置值,因為我們極少會使用到這裡也不做擴展。
git config --global
表示的是全局的git配置,會去讀寫每個用戶的~/.gitconfig文件。打開我電腦上的這個文件,內容顯示如下。
我們可以看到,這個文件中的內容與我們通過git config --list --global命令查看的信息是一致的。
通過以上我們可以看出git全局命令--global實際讀寫的是~/.gitconfig文件。
git config --local
git config是在當前項目倉庫下進行配置,它的讀寫是針對當前目錄下的.git/config文件,我們輸出.git/config文件中的內容,如下所示。
我們再來看看當前倉庫下的配置內容。
從上面兩個圖可以看出,git局部命令--local讀寫的是.git/config文件。
結束語
今天這篇文章主要講述的是關於git配置的內容,我們不僅要懂得如何配置,而且要懂得配置信息讀寫的原理。
這篇文章只是關於git學習教程的第一篇,期待後續的更新吧~