使用gitweb展示git仓库

使用web方式展现git仓库可不clone代码却可以查看仓库中的信息,如 linux kernel网站的gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/
实现上面这样的一个git的web展示并不难,因为有一个工具就叫做gitweb,下面简单介绍下,我如何使用它的。
1. 安装gitweb:方式可以使使用yum install 或者 自行下载rpm包 或者 源码编译git来获得gitweb
2. 配置gitweb:编辑 /etc/gitweb.conf 配置文件,一般修改 “ our $projectroot = "/home/jay/gitweb"; ”这一行即可。
3. 配置web server: 比如配置apache的httpd.conf文件,如下:

配置apache等web server时,有2个注意点:一是这里的“/var/www/git/”这样的目录下是有gitweb.cgi这个文件的(一般还是有一个static目录);二是确保之前的仓库目录/home/jay/gitweb 让启动web server的用户(如apache用户)可以有权限访问。
4. 重启web server: 比如 service httpd restart ,之后访问web server地址如:http://my-server/git/ 即可。

不过gitweb的展示我也调整了一下:
1. git repo 描述description部分:在各个git仓库的description文件中(如果有.git目录的,就在.git/description路径),编辑这个文件加入自己的想要的描述,如:“my qemu git project”。 若不修改这个文件,你看到的将是“Unnamed repository; edit this file 'description' to name the repository.”这样一句话。
2. 它默认会显示owner,owner显示的是代码仓库的在系统中的owner(用户名),这个我一般会隐藏它,那么就需要修改 gitweb.cgi 文件,设置 “ our $omit_owner = 1; ”即可。

至于让别人可以clone的git server如何搭建,我之前写过一篇:用git daemon搭建git repositoy(搭建git服务器)

同时,由于希望能很容易clone到linux.git/qemu.git等常用的代码库,可以在内网环境server上建立一个镜像,使用git daemon提供clone等服务,并且交给gitweb来展示。顺便展示一段用于定期pull远程代码建立镜像仓库的脚本:

另外,除了gitweb,其实如果是临时用web方式查看一个git仓库,可以使用如下命令:

参考文档:
http://www.cnblogs.com/gtarcoder/p/5309229.html
https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb

master

Stay hungry, stay foolish.

发表评论

邮箱地址不会被公开。 必填项已用*标注

*