溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

git如何自定義使用

發(fā)布時間:2021-08-21 14:27:51 來源:億速云 閱讀:71 作者:小新 欄目:服務器

這篇文章主要介紹了git如何自定義使用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Git有很多可以配置的地方。

比如,讓Git顯示顏色,會讓命令輸出看起來更醒目:

$ git config --global color.ui true

這樣,Git會適當?shù)仫@示不同的顏色,比如git status命令:

git如何自定義使用

文件名就會標上顏色。

我們在后面還會介紹如何更好地配置Git,以便讓你的工作更高效。

搭建git服務器

GitHub就是一個免費托管開源代碼的遠程倉庫。但是對于某些視源代碼如生命的商業(yè)公司來說,既不想公開源代碼,又舍不得給GitHub交保護費,那就只能自己搭建一臺Git服務器作為私有倉庫使用。

搭建Git服務器需要準備一臺運行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。

假設(shè)你已經(jīng)有sudo權(quán)限的用戶賬號,下面,正式開始安裝。

第一步,安裝git:

$ sudo apt-get install git

第二步,創(chuàng)建一個git用戶,用來運行g(shù)it服務:

$ sudo adduser git

第三步,創(chuàng)建證書登錄:

收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。

第四步,初始化Git倉庫:

先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:

$ sudo git init --bare sample.git

Git就會創(chuàng)建一個裸倉庫,裸倉庫沒有工作區(qū),因為服務器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到服務器上去改工作區(qū),并且服務器上的Git倉庫通常都以.git結(jié)尾。然后,把owner改為git:

$ sudo chown -R git:git sample.git

第五步,禁用shell登錄:

出于安全考慮,第二步創(chuàng)建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash

改為:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們?yōu)間it用戶指定的git-shell每次一登錄就自動退出。

第六步,克隆遠程倉庫:

現(xiàn)在,可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:

$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.

剩下的推送就簡單了。

管理公鑰
如果團隊很小,把每個人的公鑰收集起來放到服務器的/home/git/.ssh/authorized_keys文件里就是可行的。如果團隊有幾百號人,就沒法這么玩了,這時,可以用Gitosis來管理公鑰。
這里我們不介紹怎么玩Gitosis了,幾百號人的團隊基本都在500強了,相信找個高水平的Linux管理員問題不大。

管理權(quán)限

有很多不但視源代碼如生命,而且視員工為竊賊的公司,會在版本控制系統(tǒng)里設(shè)置一套完善的權(quán)限控制,每個人是否有讀寫權(quán)限會精確到每個分支甚至每個目錄下。因為Git是為Linux源代碼托管而開發(fā)的,所以Git也繼承了開源社區(qū)的精神,不支持權(quán)限控制。不過,因為Git支持鉤子(hook),所以,可以在服務器端編寫一系列腳本來控制提交等操作,達到權(quán)限控制的目的。Gitolite就是這個工具。

這里我們也不介紹Gitolite了,不要把有限的生命浪費到權(quán)限斗爭中。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“git如何自定義使用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI