-
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/
以在线查看你的仓库。