git 簡單易用,爲了一探究竟,同時知足好奇心,想深刻學習了下如何搭建git服務器。同時會簡單說下步驟。linux
一、建立一個 git
用戶專門管理 Git 倉庫管理,並設置密碼git
添加 git 這個用戶shell
useradd git
複製代碼
注:若是權限不夠,可加 sudo
. 我是直接使用 root 登陸,能省點麻煩。vim
添加用戶密碼安全
passwd git
複製代碼
二、在服務器上選擇/建立一個目錄做爲版本庫存地址bash
由於有了 git 用戶,我也想把庫的地址放在這個用戶下一塊兒,因此是進入 git 用戶下文件夾裏。服務器
cd /home/git/
mkdir -p gitLib
複製代碼
三、在這個目錄下建立你新建的項目地址,並把項目進行初始化。ssh
mkdir -p gittest.git
git init --bare gittest.git
複製代碼
四、更改文件權限,更改成git用戶學習
chown -R git:git gittest.git/
複製代碼
五、測試 clone 代碼到本地測試
git clone git@server:/home/git/gitLib/gittest.git
複製代碼
說明:server
是你服務器的公網 ip ,/home/git/gitLib/gittest.git
是上面建立的遠程倉庫路徑.
再輸入 git 的登陸密碼就能夠 clone 代碼。
其實如今就已是能夠算是部署完成了,可是涉及到安全性以及每次輸入密碼都很不爽,因此咱們須要禁止 shell 登陸,可是仍能夠經過 ssh 正常使用 git。
設置ssh免密碼登陸linux也是比較簡單,網上不少教程。www.jianshu.com/p/e9db116fe…
禁止 shell 登陸
vim /etc/passwd
複製代碼
git:x:1000:1000::/home/git:/usr/bin/bash
# 修改成
git:x:1000:1000::/home/git:/usr/bin/git-shell
複製代碼
注:此處有兩個地方須要注意:
/home/git/.ssh
/usr/bin/
是否存在 git-shell
文件命令,git-shell 隨 git 安裝到 git 目錄下,可是沒有配置在/usr/bin/
下,因此須要使用軟連接把 git-shell 配置到 /usr/bin/
,或者git:x:1000:1000::/home/git:/usr/bin/git-shell
修改成服務器 git-shell 的文件路徑。總結體會: