參考文章:廖雪峯老師關於git的教程
1.安裝git
sudo apt-get install git
2.創建git用戶
sudo adduser git
3.創建ssh證書文件(如果已經存在則不需要創建)
sudo mkdir /home/git/.ssh
sudo touch /home/git/.ssh/authorized_keys
4.修改authorized_keys文件的權限
sudo chmod 644 /home/git/.ssh/authorized_keys
5.禁用shell登錄
出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd
文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改爲
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
6.收集客戶端用戶的公鑰,即id_rsa.pub文件,導入 /home/git/.ssh/authorized_keys文件中
(1)客戶端打開Git Bash,切換到.ssh目錄,其中id_rsa.pub爲公鑰;
(2)將id_rsa.pub文件copy到服務器
scp ~/.ssh/id_rsa.pub [email protected]:/tmp/
(3) 在服務器端將客戶端的密鑰寫入/home/git/.ssh/authorized_keys密鑰存儲文件中,一行一個。
cat /tmp/id_rsa.pub >> /home/git/.ssh/authorized_keys
7.初始化git倉庫
(1)先選定一個目錄作爲Git倉庫,假定是/srv/sample.git
,在/srv
目錄下輸入命令:
sudo git init --bare sample.git
(2)Git就會創建一個裸倉庫,裸倉庫沒有工作區,因爲服務器上的Git倉庫純粹是爲了共享,所以不讓用戶直接登錄到服務器上去改工作區,並且服務器上的Git倉庫通常都以.git
結尾。然後,把owner改爲git
:
sudo chown -R git:git sample.git
8.克隆遠程倉庫
git clone git@server:/srv/sample.git