
- Git 入門
- Git - 首頁
- Git - 版本控制
- Git - 基本概念
- Git - 命令列
- Git - 安裝
- Git - 首次設定
- Git - 基本命令
- Git - 獲取幫助
- Git - 工具
- Git - 速查表
- Git - 術語
- Git 分支
- Git - 簡述分支
- Git - 建立新分支
- Git - 切換分支
- Git - 分支和合並
- Git - 合併衝突
- Git - 管理分支
- Git - 分支工作流程
- Git - 遠端分支
- Git - 跟蹤分支
- Git - 變基
- Git - 變基 vs. 合併
- Git - 合併提交
- Git 操作
- Git - 克隆操作
- Git - 標籤操作
- Git - 別名操作
- Git - 提交操作
- Git - 暫存操作
- Git - 移動操作
- Git - 重新命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - Patch 操作
- Git - Diff 操作
- Git - 狀態操作
- Git - 日誌操作
- Git - HEAD 操作
- Git - origin master
- Git 撤銷
- Git - 撤銷更改
- Git - Checkout
- Git - Revert
- Git - Reset
- Git - 還原操作
- Git - Rm
- Git - Switch 操作
- Git - Cherry-pick
- Git - Amend
- 伺服器上的 Git
- Git - 本地協議
- Git - 智慧 HTTP 協議
- Git - 簡單 HTTP 協議
- Git - SSH 協議
- Git - Git 協議
- Git - 在伺服器上獲取 Git
- Git - 設定伺服器
- Git - 守護程序
- Git - GitWeb
- Git - GitLab
- Git - 第三方託管選項
- 分散式 Git
- Git - 分散式工作流程
- Git - 為專案做貢獻
- Git - 維護專案
- 自定義 Git
- Git - 配置
- Git - 鉤子
- Git - 屬性
- Git - Init
- Git - Commit
Git - GitWeb
GitWeb 是 Git 附帶的一個 CGI 指令碼。它是一個基於 Web 的介面,用於瀏覽 Git 倉庫。
使用此 Web 介面,使用者可以瀏覽和導航 Git 倉庫的內容,無需與命令列互動。GitWeb 是一個使用者友好的工具,開發人員和團隊通常使用它來檢視倉庫的程式碼、提交、分支、標籤等。
主要功能
以下是 GitWeb 的一些主要功能:
瀏覽倉庫 - 您可以像瀏覽檔案資源管理器一樣瀏覽倉庫的內容,即檔案和目錄。
提交歷史 - 顯示與提交相關的所有資訊,例如提交訊息、作者、時間戳等。
檢視差異 - 您可以檢視程式碼中兩個分支或提交之間的差異。
瀏覽分支和標籤 - 您可以瀏覽倉庫中所有可用的分支和標籤。
輕鬆搜尋 - 您還可以廣泛地在倉庫中搜索,可以透過檔名、提交訊息或作者姓名進行搜尋。
設定 GitWeb
GitWeb 可以與 Web 伺服器(如Apache 或Nginx)一起安裝,也可以安裝在輕量級伺服器(如lighttpd)上。讓我們看看與 Web 伺服器一起設定 GitWeb 的分步指南
先決條件
以下是安裝 GitWeb 的先決條件:
基於 Linux 的系統,例如 Ubuntu、Debian、CentOS 等。
系統上已安裝 Git。
已安裝 Web 伺服器,例如 Apache、Nginx。
伺服器上可用的 Git 倉庫。
步驟
1. 安裝 GitWeb - 通常,GitWeb 包含在 Git 軟體包中,也可以作為單獨的軟體包安裝。
在 Ubuntu/Debian 上
sudo apt update sudo apt install gitweb
在 CentOS 上
sudo yum install gitweb
2. 安裝 Web 伺服器 (Apache) - 如果您沒有 Web 伺服器,請安裝它。
在 Ubuntu/Debian 上
sudo apt install apache2
在 CentOS 上
sudo yum install httpd
伺服器安裝後,確保它正在執行。執行以下命令來執行 Web 伺服器:
#For Ubuntu/Debian sudo systemctl start apache2 #For CentOS sudo systemctl start httpd
3. 配置 GitWeb - 成功安裝後配置 GitWeb。
在 Ubuntu/Debian 上
GitWeb 的配置檔案位於:
/etc/gitweb.conf
確保 GitWeb 指向您倉庫的路徑已正確配置。例如,如果您的 Git 倉庫儲存在/var/lib/git中,您的gitweb.conf檔案應如下所示:
$projectroot = "/var/lib/git"; $git_temp = "/tmp";
確保倉庫根目錄($projectroot)指向儲存 Git 倉庫的目錄。
4. 配置 Apache 以服務 GitWeb - 之後,您需要透過建立配置檔案來配置 Apache 伺服器以服務 GitWeb。
在 Ubuntu/Debian 上
GitWeb 的配置檔案位於:
sudo nano /etc/apache2/sites-available/gitweb.conf
您需要在您的檔案中新增以下配置詳細資訊:
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /usr/share/gitweb Alias /gitweb /usr/share/gitweb <Directory /usr/share/gitweb> Options +ExecCGI AddHandler cgi-script .cgi DirectoryIndex gitweb.cgi Require all granted </Directory> SetEnv GITWEB_CONFIG /etc/gitweb.conf </VirtualHost>
啟用站點和所需的模組
sudo a2enmod cgi sudo a2ensite gitweb.conf
重新啟動 Apache 伺服器
sudo systemctl restart apache2
在 CentOS 上
設定類似,但您可能需要修改/etc/httpd/conf.d/gitweb.conf或在/etc/httpd/conf/httpd.conf中建立一個新的虛擬主機配置。
更改後重新啟動 Apache。
sudo systemctl restart httpd
5. 訪問 GitWeb
配置完成後,您可以透過在瀏覽器中導航到以下地址來訪問 GitWeb:
http://your-server-ip/gitweb
使用輕量級伺服器設定 GitWeb
為了以這種基於 Web 的方式檢視我們的專案,我們可以建立一個臨時的 GitWeb 例項。為此,可以使用輕量級 Web 伺服器。
使用 GitWeb:在 Linux 上,我們可能已經安裝了 lighttpd,這是一個輕量級 Web 伺服器。
在這種情況下,可以在我們的專案目錄中使用命令 `git instaweb` 來啟動 GitWeb。
對於執行 Leopard 或更高版本的 macOS 使用者,Ruby 已預裝幷包含 webrick,這是一個輕量級 Web 伺服器。
要設定 GitWeb,請使用 webrick 和 `git instaweb` 命令。
如果可用lighttpd,則在啟動 `git instaweb` 時預設使用它。
同樣,如果需要,我們可以使用 `--httpd` 選項來指定要使用的 Web 伺服器。
它是這樣工作的:
git instaweb --httpd=webrick
使用此命令,指示 Git 使用 webrick 而不是標準的 lighttpd 啟動 GitWeb。
INFO WEBrick:表示 webrick 伺服器已啟動。
INFO ruby:顯示當前安裝的 Ruby 版本,這很重要,因為 webrick 是一個基於 Ruby 的伺服器。
我們可以透過使用該命令在埠 1234 上啟動 HTTP 伺服器並立即將我們的 Web 瀏覽器開啟到該埠來訪問我們的 GitWeb 介面。
此係統易於使用,並且不需要太多工作。
完成後,我們將使用帶有 `--stop` 選項的相同命令來關閉伺服器。
伺服器將關閉,埠將因此開啟。
git instaweb --httpd=webrick --stop
為了使 GitWeb 持續在伺服器上為我們的團隊或開源專案執行,我們必須設定 GitWeb CGI 指令碼以與我們的標準 Web 伺服器一起工作。
我們應該首先尋找 GitWeb 軟體包,該軟體包可透過許多 Linux 系統上的軟體包管理器(例如 `apt` 或 `dnf`)安裝。
如果軟體包不可用,我們可以透過下載 Git 原始碼後建立 Git 原始碼附帶的 CGI 指令碼,手動安裝 GitWeb。
git clone https://github.com/example/repo.git cd repo/ make GITWEB_PROJECTROOT="/srv/repositories" prefix=/usr/local 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/
接下來,配置 Apache 以使用 GitWeb 指令碼的 CGI。
編輯 Apache 配置檔案(例如 ` /etc/apache2/sites-available/gitweb.conf`)並新增以下 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>
新增配置後,重新啟動 Apache 並啟用該站點和任何必需的模組。
sudo a2enmod cgi sudo a2ensite gitweb.conf sudo systemctl restart apache2
GitWeb 通常用於在內部託管 Git 倉庫的環境中,允許團隊擁有簡單的 Web 介面,而無需使用 GitHub 或 GitLab 等外部服務。