Git — 搭建Git服務器

搭建Git服務器
  1. 安裝 git:

    sudo yum -y install git
    
  2. 創建 git 用戶,用來運行 git 服務:

    sudo adduser git
    
  3. 創建證書登錄:
    收集所有需要登錄的用戶的公鑰(id_rsa.pud)文件,把所有公鑰到導入 /home/git/.ssh/authorized_keys 文件裏。

  4. 初始化 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
    
  5. 禁用 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每次一登錄就自動退出

  6. 克隆遠程倉庫:
    通過 git clone 命令克隆遠程倉庫了,在各自的電腦上運行:

    $ git clone git@server:/srv/sample.git
    Cloning into 'sample'...
    warning: You appear to have cloned an empty repository.
    
管理公鑰

當用戶過多在 /home/git/.ssh/authorized_keys 文件管理公鑰太過繁瑣,可以用 Gitosis 來管理公鑰。

管理權限

Git支持鉤子(hook),可以在服務器端編寫一系列腳本來控制提交等操作,達到權限控制的目的;Gitolite 就是這個工具。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章