1. 程式人生 > >建立git伺服器 並 搭配svn

建立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克隆目錄即為:

[email protected]:/srv/sample.git,“@”前面的git為第2步新增的git帳戶名,servername伺服器域名或ip,“:”後面為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

[email protected]:/srv/sample.git .
    "."表示當前目錄
    

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分支儲存此節點