通常來說,搭建本身的git服務器都是不放心將代碼放到公有平臺,但願在本身的內網服務器維護代碼庫。因此,IP基本上都是內網的IP,因此咱們不妨假設內網IP是192.168.8.8
。git
sudo apt-get install git
或sudo yum install git
。sudo adduser git
。id_rsa.pub
文件,把全部公鑰導入到/home/git/.ssh/authorized_keys
文件裏,一行一個 。此時,準備工做基本上完成,咱們能夠考慮在服務器端建立git倉庫。例如,咱們建立/var/git_repo
目錄,用於保存各個git工程。shell
進入這個目錄cd /var/git_repo
,咱們建立第一個工程rollingstone.git
:安全
sudo git init --bare rollingstone.git
再更改它的權限:bash
$ sudo chown -R git:git rollingstone.git
進一步,能夠建立第二個工程tesla.git
:服務器
sudo git init --bare tesla.git
再更改它的權限:ssh
$ sudo chown -R git:git tesla.git
這樣,在/var/git_repo
目錄下,咱們就會獲得兩個git文件rollingstone.git
和tesla.git
。code
出於安全考慮,咱們能夠不容許登陸shell,能夠經過編輯/etc/passwd
文件完成。找到相似下面的一行:get
git:x:1001:1001:,,,:/home/git:/bin/bash
改成:it
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣,git
用戶能夠正常經過ssh使用git,但沒法登陸shell,由於咱們爲git
用戶指定的git-shell
每次一登陸就自動退出。class
在客戶端,好比咱們本身的PC上,因爲咱們假設的內網服務器IP是192.168.8.8
,咱們可使用下面的命令來客隆:
$ git clone git@192.168.8.8:/var/tesla.git
這樣,你就能夠在本身的PC上去修改、推送這個tesla工程了。