-
1. 起步
-
2. Git 基礎
-
3. Git 分支
-
4. 伺服器上的 Git
- 4.1 協議
- 4.2 在伺服器上部署 Git
- 4.3 生成 SSH 公鑰
- 4.4 架設伺服器
- 4.5 Git Daemon
- 4.6 Smart 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
現在您已經擁有了對專案的基本讀寫和只讀訪問許可權,您可能希望設定一個簡單的基於 Web 的視覺化工具。Git 自帶了一個名為 GitWeb 的 CGI 指令碼,有時會用於此目的。
如果您想檢視 GitWeb 在您的專案中的樣子,Git 自帶了一個命令,可以在您的系統上啟動一個輕量級 Web 伺服器(如 lighttpd 或 webrick)的臨時例項。在 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/ 線上檢視您的儲存庫。