Latest web development tutorials

Git 服務器搭建

Git 服務器搭建

上一章節中我們遠程倉庫使用了Github,Github 公開的項目是免費的,但是如果你不想讓其他人看到你的項目就需要收費。

這時我們就需要自己搭建一台Git服務器作為私有倉庫使用。

接下來我們將以Centos 為例搭建Git 服務器。

1、安裝Git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

接下來我們創建一個git用戶組和用戶,用來運行git服務:

$ groupadd git
$ adduser git -g git

2、創建證書登錄

收集所有需要登錄的用戶的公鑰,公鑰位於id_rsa.pub文件中,把我們的公鑰導入到/home/git/.ssh/authorized_keys文件裡,一行一個。

如果沒有該文件創建它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

3、初始化Git倉庫

首先我們選定一個目錄作為Git倉庫,假定是/home/gitrepo/w3cschoolcc.git,在/home/gitrepo目錄下輸入命令:

$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

$ git init --bare w3cschoolcc.git
Initialized empty Git repository in /home/gitrepo/w3cschoolcc.git/

以上命令Git創建一個空倉庫,服務器上的Git倉庫通常都以.git結尾。 然後,把倉庫所屬用戶改為git:

$ chown -R git:git w3cschoolcc.git

4、克隆倉庫

$ git clone [email protected]:/home/gitrepo/w3cschoolcc.git
Cloning into 'w3cschoolcc'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

192.168.45.4 為Git 所在服務器ip ,你需要將其修改為你自己的Git 服務ip。

這樣我們的Git 服務器安裝就完成了,接下來我們可以禁用git 用戶通過shell登錄,可以通過編輯/etc/passwd文件完成。 找到類似下面的一行:

git:x:503:503::/home/git:/bin/bash

改為:

git:x:503:503::/home/git:/sbin/nologin