$ git clone --bare my_project my_project.git Cloning into bare repository 'my_project.git'... done.
上一章節中咱們遠程倉庫使用了 Github,Github 公開的項目是免費的,可是若是你不想讓其餘人看到你的項目就須要收費。git
這時咱們就須要本身搭建一臺Git服務器做爲私有倉庫使用。安全
接下來咱們將以 Centos 爲例搭建 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
收集全部須要登陸的用戶的公鑰,公鑰位於id_rsa.pub文件中,把咱們的公鑰導入到/home/git/.ssh/authorized_keys文件裏,一行一個。app
若是沒有該文件建立它:ssh
$ cd /home/git/ $ mkdir .ssh $ chmod 755 .ssh $ touch .ssh/authorized_keys $ chmod 644 .ssh/authorized_keys
首先咱們選定一個目錄做爲Git倉庫,假定是/home/gitrepo/runoob.git,在/home/gitrepo目錄下輸入命令:curl
$ 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
$ 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。url
這樣咱們的 Git 服務器安裝就完成。spa
如今咱們將討論如何在你本身的服務器上搭建 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/