-
1. 起步
-
2. Git 基礎
-
3. Git 分支
-
4. 伺服器上的 Git
- 4.1 協定
- 4.2 在伺服器上取得 Git
- 4.3 產生您的 SSH 公開金鑰
- 4.4 設定伺服器
- 4.5 Git Daemon
- 4.6 智慧型 HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第三方託管選項
- 4.10 總結
-
5. 分散式 Git
-
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 對您的專案的外觀,如果您的系統上有輕量級的網頁伺服器(例如 lighttpd
或 webrick
),Git 會提供一個命令來啟動臨時執行個體。在 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 伺服器,然後自動啟動網頁瀏覽器,在該頁面上開啟。對您來說相當容易。當您完成並想要關閉伺服器時,可以使用 --stop
選項執行相同的命令
$ git instaweb --httpd=webrick --stop
如果您想在伺服器上持續執行網頁介面,供您的團隊或您託管的開放原始碼專案使用,您需要設定 CGI 腳本,使其由您正常的網頁伺服器提供服務。某些 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 的網頁伺服器一起提供服務;如果您喜歡使用其他伺服器,設定起來應該不會太困難。此時,您應該可以造訪 http://gitserver/
來線上檢視您的儲存庫。