基於CentOS7.2的GIT服務器簡易搭建和使用

1. 帳戶權限

git使用你的SSH帳戶登錄。也就是說,他的文件權限和你的SSH帳戶權限是一致的。

2.應用安裝

客戶端就不說了,安裝git 即可。
Windows平臺還建議安裝TortoiseGit配合。

服務端:

yum install git

安裝後,已經可以進行倉庫的創建。
其實就Git來說,不嚴格區分服務端客戶端。

  • 如果選擇了“Bare”選項,則表示這個倉庫是無法在服務器本地修改,只接受遠程提交和簽出。
    ★“Bare”選項同時要求該目錄爲空目錄
  • 如果不選擇,則默認這個倉庫只能被遠程clone,無法被遠程提交。

3.實際使用

1) 服務端創建Bare類型的目錄

cd /opt/code
#建議目錄名創建成XXX.git
mkdir hello.git
cd hello.git/
git init --bare -- shared

2)客戶端簽出

git clone root@10.35.41.196:/opt/code/hello.git

簽出完成後,可以放入需要的文件,進行上傳操作
3) 選擇”Git commit”
此時提交的是本地,還未同步到服務器

4)同步到服務器
選擇“Git Sync”,“Push”即可。

4.進階-WEB服務器部署

1)服務安裝

yum install gitweb httpd

2)修改配置

I.修改/etc/gitweb.conf

追加以下

$projectroot = "/opt/code";

即會在頁面中展現該目錄下所有的git倉庫(包括子目錄)。

II. 修改 /etc/httpd/conf/httpd.conf文件。
在尾部追加

<VirtualHost *:3334>
    ServerName gitserver
    DocumentRoot /var/www/git
    <Directory /var/www/git >
        Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
        AllowOverride All
        order allow,deny
        Allow from all
        AddHandler cgi-script cgi
        DirectoryIndex gitweb.cgi
    </Directory>
</VirtualHost>

★網上的很多資料ExecCGI前沒有+號,httpd是直接起不來的。

由於我的httpd同時還承載着其他業務,因此可以多個Listen,通過虛擬服務器的過濾規則確定。

Listen 80
Listen 3334

全部配置完後

service httpd restart
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章