GitWeb

2018-07-10 17:12 更新

GitWeb

現(xiàn)在我們的項(xiàng)目已經(jīng)有了可讀可寫(xiě)和只讀的連接方式,不過(guò)如果能有一個(gè)簡(jiǎn)單的 web 界面訪問(wèn)就更好了。Git 自帶一個(gè)叫做 GitWeb 的 CGI 腳本,運(yùn)行效果可以到 http://git.kernel.org 這樣的站點(diǎn)體驗(yàn)下(見(jiàn)圖 4-1)。

Figure 4-1. 基于網(wǎng)頁(yè)的 GitWeb 用戶(hù)界面

如果想看看自己項(xiàng)目的效果,不妨用 Git 自帶的一個(gè)命令,可以使用類(lèi)似 lighttpd 或 webrick 這樣輕量級(jí)的服務(wù)器啟動(dòng)一個(gè)臨時(shí)進(jìn)程。如果是在 Linux 主機(jī)上,通常都預(yù)裝了 lighttpd ,可以到項(xiàng)目目錄中鍵入 git instaweb 來(lái)啟動(dòng)。如果用的是 Mac ,Leopard 預(yù)裝了 Ruby,所以 webrick 應(yīng)該是最好的選擇。如果要用 lighttpd 以外的程序來(lái)啟動(dòng) git instaweb,可以通過(guò) --httpd 選項(xiàng)指定:

$ git instaweb --httpd=webrick
[2009-02-21 10:02:21] INFO  WEBrick 1.3.1
[2009-02-21 10:02:21] INFO  ruby 1.8.6 (2008-03-03) [universal-darwin9.0]

這會(huì)在 1234 端口開(kāi)啟一個(gè) HTTPD 服務(wù),隨之在瀏覽器中顯示該頁(yè),十分簡(jiǎn)單。關(guān)閉服務(wù)時(shí),只需在原來(lái)的命令后面加上 --stop 選項(xiàng)就可以了:

$ git instaweb --httpd=webrick --stop

如果需要為團(tuán)隊(duì)或者某個(gè)開(kāi)源項(xiàng)目長(zhǎng)期運(yùn)行 GitWeb,那么 CGI 腳本就要由正常的網(wǎng)頁(yè)服務(wù)來(lái)運(yùn)行。一些 Linux 發(fā)行版可以通過(guò) apt 或 yum 安裝一個(gè)叫做 gitweb 的軟件包,不妨首先嘗試一下。我們將快速介紹一下手動(dòng)安裝 GitWeb 的流程。首先,你需要 Git 的源碼,其中帶有 GitWeb,并能生成定制的 CGI 腳本:

$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/opt/git" \
        prefix=/usr gitweb
$ sudo cp -Rf gitweb /var/www/

注意,通過(guò)指定 GITWEB_PROJECTROOT 變量告訴編譯命令 Git 倉(cāng)庫(kù)的位置。然后,設(shè)置 Apache 以 CGI 方式運(yùn)行該腳本,添加一個(gè) VirtualHost 配置:

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

不難想象,GitWeb 可以使用任何兼容 CGI 的網(wǎng)頁(yè)服務(wù)來(lái)運(yùn)行;如果偏向使用其他 web 服務(wù)器,配置也不會(huì)很麻煩?,F(xiàn)在,通過(guò) http://gitserver 就可以在線訪問(wèn)倉(cāng)庫(kù)了,在 http://git.server 上還可以通過(guò) HTTP 克隆和獲取倉(cāng)庫(kù)的內(nèi)容。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)