gitweb
可以通過搭建git服務器將代碼保存在git服務器上,多個開發者可以從服務器上clone代碼,也可以各自維護一份本地代碼,在本地更新之后可以提交到git服務器上,提高開發效率。
git可以很方便的在服務器上創建一個版本庫,然后供各個客戶端提交、拉取代碼,見git 簡單實用; 但是鏈接中的方式不支持網頁的方式查看遠程版本庫的內容,這樣如果想要查看版本庫中代碼,只能git 拉取到本地再用編輯器打開,非常不方便。因此考慮搭建一個git 的web服務器,支持在web頁面上查看代碼。
gitweb就是支持網頁查看git版本庫中代碼的工具。
搭建Apache
gitweb是基於http服務工作的,因此需要先在服務器上搭建http服務。考慮使用apache。
具體步驟,見 Apache Http 服務器搭建
搭建gitweb
1. 安裝gitweb
# yum install gitweb
2. 配置gitweb
(1) 配置 /etc/gitweb.conf 文件:
在默認的文件末尾添加:
$projectroot = '/home/git/gitweb'; #gitweb展示的那些代碼庫的根目錄
(2) 配置 /etc/httpd/conf.d/git.conf,如下:
Alias /gitweb /var/www/git SetEnv GITWEB_CONFIG /etc/gitweb.conf <Directory /var/www/git> Options ExecCGI FollowSymLinks SymLinksIfOwnerMatch AllowOverride All order allow,deny Allow from all AddHandler cgi-script cgi DirectoryIndex gitweb.cgi </Directory>
其中, Alias /gitweb /var/www/git 是指示apache服務器在接收到 http://domain-name/gitweb的請求之后,轉向 /var/www/git 目錄;
SetEnv GITWEB_CONFIG /etc/gitweb.conf 指示gitweb使用配置文件 /etc/gitweb.conf (就是第一步配置過的,里面指定了版本庫的根目錄)
< Directory /var/www/git> 中的部分指示了 /var/www/git 目錄(http://domain-name/gitweb 轉到的目錄)的一些性質。
(3) 添加代碼庫到gitweb指定的代碼庫根目錄下:
假設已經存在了一個版本庫 /home/git/repos/DataExchange.git,可以拷貝或者軟鏈接: cp -r /home/git/repos/DataExchange.git /home/git/gitweb/DataExchange 或 ln -s /home/git/repos/DataExchange.git /home/git/gitweb/DataExchange
(4) 確保 apache用戶(在httpd.conf中配置的用戶)具有訪問 gitweb指定代碼庫的權限
比如, /home/git/gitweb 屬於git用戶和git組。可以將apache用戶添加到 git組中:
usermod -a -G git apache