搭建Git服務器

搭建簡單的Git服務器

搭建 Git 服務器最重要的是 .git 文件夾和裏面的內容,git

建立一個裸倉庫:shell

$ git clone --bare my_project/.git  myproject.git

該命令等效於:bash

$ cp -Rf  my_project/.git  myproject.git

這樣就能夠取出 倉庫 自己,而不是工做目錄服務器

而後把 myproject.git 上傳到服務器上,若服務器上的路徑爲 /src/myproject.gitssh

$ git clone user@server.com:/src/myproject.git

經過這個命令就能夠拷貝倉庫了。在這以前首先要在服務器上設置該 Git 倉庫能夠共享:spa

 

$ cd /src/myproject.git
$ git init --bare --shared

另外,也能夠用服務器上的 git 用戶在服務器上建立一個空的 git 倉庫,以後再在本地上將任意一個 git 倉庫 push 到服務器上。操做是相似的。3d

 

倉庫拷貝下來後就有全部的文件都會在當前的目錄下面,那麼就能夠開始項目了。code

以後的操做就像使用 GitHub 同樣,不過遠程倉庫並非在 GitHub 上而是在私有的服務器上。server

可是這樣的話,在每次 push 或者 pull 操做都須要輸入密碼。blog

 

搭建經過 SSH 訪問的 Git 服務器

首先在服務器上添加一個專門用於 git 訪問的用戶

$ sudo adduser git $ su git $ cd ~ $ mkdir .ssh && chmod 700 .ssh $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

這樣就建立了用戶 git,而且 git 在 /home 目錄下有本身的 HOME 目錄。

以後是在 git 的 HOME 目錄中建立 .ssh 文件夾和 authorized_keys 文件,權限設置爲僅能 git 用戶訪問。

而後收集須要訪問該 Git 服務器上的用戶的公鑰,通常公鑰存放在 id_rsa.pub 文件中:

~/.ssh/id_rsa.pub

若 A 把本身的公鑰文件上傳到服務器上,用 git 用戶添加到 /home/git/.ssh/authorized_keys 這個文件中,那麼 A 就能夠經過 SSH 訪問 git 倉庫,而不用再輸入密碼。

若是須要限制 git 用戶的 shell 訪問,能夠將 /etc/passwd 文件中的 git 那一行的 /bin/bash 改爲 /usr/bin/git-shell 就能夠限制 git 用戶的 shell 登錄了。:

 

 

 

references:

服務器上的 Git - 在服務器上搭建 Git

服務器上的 Git - 配置服務器

相關文章
相關標籤/搜索