搭建Git伺服器需要準備一臺執行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。
假設你已經有sudo許可權的使用者賬號,下面,正式開始安裝。
第一步,安裝git:
$ sudo apt-get install git
第二步,建立一個git使用者,用來執行git服務:
$ sudo adduser git
第三步,建立證書登入:
收集所有需要登入的使用者的公鑰,就是他們自己的id_rsa.pub檔案,把所有公鑰匯入到/home/git/.ssh/authorized_keys檔案裡,一行一個。
第四步,初始化Git倉庫:
先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:
$ sudo git init --bare sample.git
Git就會建立一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓使用者直接登入到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -R git:git sample.git
第五步,禁用shell登入:
出於安全考慮,第二步建立的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,因為我們為git使用者指定的git-shell每次一登入就自動退出。
第六步,克隆遠端倉庫:
現在,可以透過git clone命令克隆遠端倉庫了,在各自的電腦上執行:
$ git clone git@server:/srv/sample.git
Cloning into "sample"...
warning: You appear to have cloned an empty repository.
我現在使用的是小鳥雲,他們目前官網有活動,3折優惠,建議去看看!
搭建Git伺服器需要準備一臺執行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。
假設你已經有sudo許可權的使用者賬號,下面,正式開始安裝。
第一步,安裝git:
$ sudo apt-get install git
第二步,建立一個git使用者,用來執行git服務:
$ sudo adduser git
第三步,建立證書登入:
收集所有需要登入的使用者的公鑰,就是他們自己的id_rsa.pub檔案,把所有公鑰匯入到/home/git/.ssh/authorized_keys檔案裡,一行一個。
第四步,初始化Git倉庫:
先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:
$ sudo git init --bare sample.git
Git就會建立一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓使用者直接登入到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -R git:git sample.git
第五步,禁用shell登入:
出於安全考慮,第二步建立的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,因為我們為git使用者指定的git-shell每次一登入就自動退出。
第六步,克隆遠端倉庫:
現在,可以透過git clone命令克隆遠端倉庫了,在各自的電腦上執行:
$ git clone git@server:/srv/sample.git
Cloning into "sample"...
warning: You appear to have cloned an empty repository.
我現在使用的是小鳥雲,他們目前官網有活動,3折優惠,建議去看看!