平時(shí)在開發(fā)的過程中,用到git時(shí),要做一些特殊的配置,例如自己公司內(nèi)網(wǎng)https的SSL證書未經(jīng)過第三方機(jī)構(gòu)簽署,直接操作Git就會(huì)報(bào)錯(cuò),需要設(shè)置忽略證書,即sslVerify。一般情況下,通過執(zhí)行如下命令進(jìn)行設(shè)置:
git config --global http.sslVerify "false"
用了忽略ssl證書。
這行命令實(shí)際上是設(shè)置了當(dāng)前登錄mac電腦的用戶的全局git配置,即所有項(xiàng)目如果不設(shè)置該配置,那么默認(rèn)采用這個(gè)配置。
實(shí)際上該行命令是修改了這個(gè) ~/.gitconfig 這個(gè)文件,直接啟動(dòng)mac上的終端,執(zhí)行顯示所有文件(包含隱藏文件)的命令
ls -all
就能看到 .gitconfig
輸入open .gitconfig 命令即可用文本編輯器打開,看到剛剛命令行改動(dòng)的配置,配置如下:
[http]
sslVerify = false
但是這些配置是相當(dāng)于一個(gè)全局的配置,可能無法滿足所有項(xiàng)目的需求。
比如自己公司內(nèi)部的項(xiàng)目提交時(shí)設(shè)置的用戶名為自己的真實(shí)姓名,但是在github上提交時(shí),可能不想暴露真實(shí)姓名,這時(shí)候就不能采用通用的配置了,就要單獨(dú)設(shè)置每個(gè)項(xiàng)目的git配置。
由于每個(gè)git項(xiàng)目下都會(huì)有一個(gè)隱藏的.git文件夾 ,將終端的工作目錄設(shè)置到,相應(yīng)的項(xiàng)目根目錄下,執(zhí)行l(wèi)s -all
命令,顯示所有文件,即可看到.git的隱藏文件夾。通過cd .git 進(jìn)入該目錄,發(fā)現(xiàn)該目錄下有個(gè)config文件,采用
open config 命令打開,添加如下配置:
[user]
name = XXX(自己的名稱英文)
email = XXXX(郵箱)
保存,command+s 即可。這時(shí)候就為該項(xiàng)目配置了獨(dú)立的用戶名和郵箱,這時(shí)提交代碼時(shí),提交日志上顯示的就是設(shè)置的名稱,當(dāng)然github這種會(huì)根據(jù)設(shè)置的郵箱來設(shè)置對(duì)應(yīng)的用戶名。
當(dāng)然也可以通過命令行的方式(即要去掉--global參數(shù))去設(shè)置單獨(dú)的git配置,只需要在 .git 文件夾下。 例如執(zhí)行如下命令:
git config user.name "xxxxx"
來修改當(dāng)前項(xiàng)目提交代碼時(shí)用到的用戶名。
ps:如果全局的配置和當(dāng)前項(xiàng)目的單獨(dú)配置中出現(xiàn)相同的配置選項(xiàng),比如全局和項(xiàng)目都設(shè)置了user.name ,那么在該項(xiàng)目中進(jìn)行g(shù)it操作時(shí),會(huì)默認(rèn)采用該項(xiàng)目配置的用戶名。