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
$ useradd git -g git
2、創建證書登錄
收集所有需要登錄的用戶的公鑰,公鑰位於id_rsa.pub文件中,把我們的公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。
如果沒有該文件創建它:
$ cd /home/git/ $ mkdir .ssh $ chmod 755 .ssh $ touch .ssh/authorized_keys $ chmod 644 .ssh/authorized_keys
3、初始化Git倉庫
首先我們選定一個目錄作為Git倉庫,假定是/home/gitrepo/runoob.git,在/home/gitrepo目錄下輸入命令:
$ cd /home $ mkdir gitrepo $ chown git:git gitrepo/ $ cd gitrepo $ git init --bare runoob.git Initialized empty Git repository in /home/gitrepo/runoob.git/
以上命令Git創建一個空倉庫,服務器上的Git倉庫通常都以.git結尾。然后,把倉庫所屬用戶改為git:
$ chown -R git:git runoob.git
4、克隆倉庫
$ git clone git@192.168.45.4:/home/gitrepo/runoob.git Cloning into 'runoob'... warning: You appear to have cloned an empty repository. Checking connectivity... done.
192.168.45.4 為 Git 所在服務器 ip ,你需要將其修改為你自己的 Git 服務 ip。
這樣我們的 Git 服務器安裝就完成。
現在我們將討論如何在你自己的服務器上搭建 Git 服務來運行這些協議。
|
Note
|
這里我們將要演示在 Linux 服務器上進行一次基本且簡化的安裝所需的命令與步驟,當然在 Mac 或 Windows 服務器上同樣可以運行這些服務。 事實上,在你的計算機基礎架構中建立一個生產環境服務器,將不可避免的使用到不同的安全措施與操作系統工具。但是,希望你能從本節中獲得一些必要的知識。 |
在開始架設 Git 服務器前,需要把現有倉庫導出為裸倉庫——即一個不包含當前工作目錄的倉庫。 這通常是很簡單的。 為了通過克隆你的倉庫來創建一個新的裸倉庫,你需要在克隆命令后加上 `--bare`選項 按照慣例,裸倉庫目錄名以 .git 結尾,就像這樣:
$ git clone --bare my_project my_project.git
Cloning into bare repository 'my_project.git'...
done.
現在,你的 my_project.git 目錄中應該有 Git 目錄的副本了。
整體上效果大致相當於
$ cp -Rf my_project/.git my_project.git
雖然在配置文件中有若干不同,但是對於你的目的來說,這兩種方式都是一樣的。 它只取出 Git 倉庫自身,不要工作目錄,然后特別為它單獨創建一個目錄。
$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git init --bare
Initialized empty Git repository in /opt/git/project.git/
