建立git私有庫

ubuntu服務器爲例,若是要建立小範圍的私有git服務器,是很是簡單的,只須要以下幾個簡單步驟: git

Step 1: 安裝git shell

直接經過sudo apt-get install git便可完成。 ubuntu

Step 2: 建立git用戶 安全

git用戶用來經過SSH鏈接git服務,輸入命令: bash

$ sudo adduser git

Step 3: 建立證書登陸 服務器

首先收集全部須要登陸的用戶公鑰,而後導入到/home/git/.ssh/authorized_keys文件便可。 app

Step 4: 初始化git倉庫 ssh

假設倉庫位於/srv/sample.git,在/srv目錄下輸入命令: spa

$ sudo git init --bare sample.git

這樣就建立了一個裸倉庫,裸倉庫沒有working dir,由於服務器上的git倉庫純粹是爲了共享,倉庫目錄通常以.git結尾。而後把owner改成git code

$ sudo git init --bare sample.git

Step 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

Step 6: 克隆倉庫

在客戶端就能夠經過ssh克隆倉庫了:

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

而後,就能夠正常推送了:

$ touch README
$ git add README
$ git commit -m "add readme"
$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 212 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@ubuntu:/srv/sample.git
 * [new branch]      master -> master
相關文章
相關標籤/搜索