-
A1. 附錄 A: Git 在其他環境
- A1.1 圖形介面
- A1.2 Visual Studio 中的 Git
- A1.3 Visual Studio Code 中的 Git
- A1.4 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git
- A1.5 Sublime Text 中的 Git
- A1.6 Bash 中的 Git
- A1.7 Zsh 中的 Git
- A1.8 PowerShell 中的 Git
- A1.9 小結
-
A2. 附錄 B: 在應用程式中嵌入 Git
-
A3. 附錄 C: Git 命令
4.7 Git 伺服器上的 GitWeb
GitWeb
現在你的專案已經有了基本的讀寫和只讀訪問許可權,你可能想設定一個簡單的基於網路的檢視器。Git自帶一個名為GitWeb的CGI指令碼,有時會用於此目的。

如果你想看看GitWeb在你的專案中會是什麼樣子,Git帶有一個命令,如果你係統上安裝了lighttpd
或webrick
之類的輕量級Web伺服器,就可以啟動一個臨時例項。在Linux機器上,lighttpd
通常已安裝,因此你可以在專案目錄中輸入git instaweb
來執行它。如果你執行的是macOS,Leopard預裝了Ruby,所以webrick
可能是你最好的選擇。要使用非lighttpd
處理器啟動instaweb
,你可以使用--httpd
選項執行它。
$ 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]
這會在埠1234上啟動一個HTTPD伺服器,然後自動啟動一個Web瀏覽器並開啟該頁面。這對於你來說非常容易。當你完成並想關閉伺服器時,你可以使用--stop
選項執行相同的命令。
$ git instaweb --httpd=webrick --stop
如果你想為你的團隊或你託管的開源專案在伺服器上一直執行Web介面,你需要設定CGI指令碼,使其由你的普通Web伺服器提供服務。一些Linux發行版提供了gitweb
軟體包,你可以透過apt
或dnf
安裝,所以你可能想先嚐試一下。我們將非常快速地介紹手動安裝GitWeb。首先,你需要獲取Git原始碼(GitWeb隨附),並生成自定義CGI指令碼。
$ git clone https://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/srv/git" prefix=/usr gitweb
SUBDIR gitweb
SUBDIR ../
make[2]: `GIT-VERSION-FILE' is up to date.
GEN gitweb.cgi
GEN static/gitweb.js
$ sudo cp -Rf gitweb /var/www/
請注意,你必須使用GITWEB_PROJECTROOT
變數告訴命令在哪裡找到你的Git倉庫。現在,你需要讓Apache對該指令碼使用CGI,為此你可以新增一個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或Perl的Web伺服器提供服務;如果你喜歡使用其他方式,設定起來也不會困難。此時,你應該能夠訪問http://gitserver/
來線上檢視你的倉庫。