【八】自定义Git
自定義Git
- 忽略特殊文件
- 配置別名
- 配置文件
 
- 搭建Git服務(wù)器
 
忽略特殊文件
有些時(shí)候,你必須把某些文件放到Git工作目錄中,但又不能提交它們,比如保存了數(shù)據(jù)庫(kù)密碼的配置文件啦,使用node的項(xiàng)目會(huì)有個(gè)node_modules目錄等等,每次git status都會(huì)顯示Untracked files …,有強(qiáng)迫癥的童鞋心里肯定不爽。
好在Git考慮到了大家的感受,這個(gè)問(wèn)題解決起來(lái)也很簡(jiǎn)單,在Git工作區(qū)的根目錄下創(chuàng)建一個(gè)特殊的.gitignore文件,然后把要忽略的文件名填進(jìn)去,Git就會(huì)自動(dòng)忽略這些文件。
不需要從頭寫(xiě).gitignore文件,GitHub已經(jīng)為我們準(zhǔn)備了各種配置文件,只需要組合一下就可以使用了。所有配置文件可以直接在線(xiàn)瀏覽:https://github.com/github/gitignore
忽略文件的原則是:
- 忽略操作系統(tǒng)自動(dòng)生成的文件,比如縮略圖等;
- 忽略編譯生成的中間文件、可執(zhí)行文件等,也就是如果一個(gè)文件是通過(guò)另一個(gè)文件自動(dòng)生成的,那自動(dòng)生成的文件就沒(méi)必要放進(jìn)版本庫(kù),比如Java編譯產(chǎn)生的.class文件;
- 忽略你自己的帶有敏感信息的配置文件,比如存放口令的配置文件。
寫(xiě)好.gitignore后記得把.gitignore也提交到Git,就完成了!
有些時(shí)候,你想添加一個(gè)文件到Git,但發(fā)現(xiàn)添加不了,原因可能是這個(gè)文件被.gitignore忽略了
如果你確實(shí)想添加該文件,可以用-f強(qiáng)制添加到Git:
git add -f App.class.gitignore編寫(xiě)規(guī)則:
# 排除所有.開(kāi)頭的隱藏文件: .* # 排除所有.class文件: *.class# 不排除.gitignore和App.class: !.gitignore !App.class配置別名
如果嫌git命令太長(zhǎng)或不好記,可以設(shè)置簡(jiǎn)單的別名,比如用st表示status:
git config --global alias.st status以后git status就可以直接寫(xiě)成git st,是不是很方便呢。
配置文件
配置Git的時(shí)候,加上--global是針對(duì)當(dāng)前用戶(hù)起作用的,如果不加,那只針對(duì)當(dāng)前的倉(cāng)庫(kù)起作用。
 配置文件放哪了?每個(gè)倉(cāng)庫(kù)的Git配置文件都放在.git/config文件中:
而當(dāng)前用戶(hù)的Git配置文件放在用戶(hù)主目錄下的一個(gè)隱藏文件.gitconfig中(所以電腦重置后一般這個(gè)文件就沒(méi)有了,需要重新配置):
[user]email = 1511455676@qq.comname = zy1281539626搭建Git服務(wù)器
如果你不想使用第三方的服務(wù)器GitHub/Gitee之類(lèi)的版本管理平臺(tái),想自己搭建一個(gè)Git服務(wù)器作為私有的倉(cāng)庫(kù)使用也是可以的。
搭建Git服務(wù)器需要準(zhǔn)備一臺(tái)運(yùn)行Linux的機(jī)器,強(qiáng)烈推薦用Ubuntu或Debian,這樣,通過(guò)幾條簡(jiǎn)單的apt命令就可以完成安裝。
假設(shè)你已經(jīng)有sudo權(quán)限的用戶(hù)賬號(hào),下面,正式開(kāi)始安裝。
 第一步,安裝git:
第二步,創(chuàng)建一個(gè)git用戶(hù),用來(lái)運(yùn)行g(shù)it服務(wù):
sudo adduser git第三步,創(chuàng)建證書(shū)登錄:
 收集所有需要登錄的用戶(hù)的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導(dǎo)入到/home/git/.ssh/authorized_keys文件里,一行一個(gè)。
 第四步,初始化Git倉(cāng)庫(kù):
 先選定一個(gè)目錄作為Git倉(cāng)庫(kù),假定是/srv/sample.git,在/srv目錄下輸入命令:
Git就會(huì)創(chuàng)建一個(gè)裸倉(cāng)庫(kù),裸倉(cāng)庫(kù)沒(méi)有工作區(qū),因?yàn)榉?wù)器上的Git倉(cāng)庫(kù)純粹是為了共享,所以不讓用戶(hù)直接登錄到服務(wù)器上去改工作區(qū),并且服務(wù)器上的Git倉(cāng)庫(kù)通常都以.git結(jié)尾。然后,把owner改為git:
sudo chown -R git:git sample.git第五步,禁用shell登錄:
 出于安全考慮,第二步創(chuàng)建的git用戶(hù)不允許登錄shell,這可以通過(guò)編輯/etc/passwd文件完成。找到類(lèi)似下面的一行:
改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell這樣,git用戶(hù)可以正常通過(guò)ssh使用git,但無(wú)法登錄shell,因?yàn)槲覀優(yōu)間it用戶(hù)指定的git-shell每次一登錄就自動(dòng)退出。
 第六步,克隆遠(yuǎn)程倉(cāng)庫(kù):
 現(xiàn)在,可以通過(guò)git clone命令克隆遠(yuǎn)程倉(cāng)庫(kù)了,在各自的電腦上運(yùn)行:
如果需要做權(quán)限管理,可以使用Gitosis
總結(jié)
 
                            
                        - 上一篇: 14怎么敷铜不了_YEO护肤课堂:敷面膜
- 下一篇: java计算信息熵_熵的计算
