建立git伺服器 並 搭配svn
建立git伺服器
1、安裝git
yum install -y git
2、建立git使用者
adduser git
3、初始化Git倉庫
git init --bare sample.git
說明:
1)sample.git為專案倉庫目錄,按習慣將程式碼倉庫目錄以.git字尾命名,
2)git克隆目錄即為:
chown -R git:git sample.git
用root使用者操作時需注意,將此倉庫路徑上的目錄和檔案所有者全部設為git
4、需要登入的使用者生成ssh金鑰和公鑰
執行:ssh-keygen
生成檔案:id_rsa 、id_rsa.pub
ssh說明:
id_rsa : 生成的私鑰檔案
id_rsa.pub : 生成的公鑰檔案
know_hosts : 已知的主機公鑰清單
authorized_keys:存放遠端免密登入的公鑰,主要通過這個檔案記錄多臺機器的公鑰
ssh公鑰生效需滿足下面條件:
1) .ssh目錄的許可權必須是700
2) .ssh/authorized_keys檔案許可權必須是600
3) .ssh/id_rsa檔案許可權必須是600
.ssh目錄所有者為要免密登入的使用者,注意使用者許可權
5、收集名密登入使用者公鑰
收集所有需要登入的使用者的公鑰(id_rsa.pub),在伺服器git使用者目錄下,把所有公鑰匯入到/home/git/.ssh/authorized_keys檔案裡(若不存在則手動新增),一行一個公鑰字串。
6、禁用shell登入
建立的git使用者不允許登入shell,通過編輯/etc/passwd檔案完成
git:x:1001:1001:,,,:/home/git:/bin/bash
改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
7、 克隆專案到本地
git clone
"."表示當前目錄
8、客戶端使用
1)前面1-6步建立git伺服器
2)在使用者目錄記錄.ssh目錄:C:\Users\jingyu\.ssh
3)將生成的公鑰、私鑰複製到.ssh目錄下
4)sourcetree設定:
進入 “工具》選項》一般 ”:
ssh客戶端配置/ssh金鑰 選中id_rsa
ssh客戶端選擇OpenSSH
5)克隆專案
6)與svn結合:
公司專案伺服器用svn做倉庫,git為開發者本地使用:
a)checkout svn專案,建立為svn分支
b)svn分支只用來同步svn程式碼,同步一次提交一次svn分支節點
c)開發時另建開發分支dev
d)需要提交svn時,才將開發分支dev合併到svn分支,
e)提交svn到遠端程式碼倉庫,同時提交git的svn分支儲存此節點