Git是很流行很好用的版本控制器,但是仅仅依靠强大的console管理并不能完全满足项目管理的需要:
1. Leader们希望能更直观的看到代码的更新和足迹,比如通过Wed UI界面。这时,把Git整合到项目管理系统中(比如Trac)是一个很不错的方式,例如这里。当然,我们也可以很方便的搭建专门的Git服务,见方式一。
2. 我们需要通过比SSH更“酷”的方式来clone代码库,比如通过http。这时,你居然想不到Git自带的backend就可以轻易的解决这个问题,详见方式二。
一、通过Gitweb提供代码浏览服务
注意,Gitweb仅仅提供基于浏览器的代码浏览,不提供代码更改、代码提交等服务。
1. 安装Gitweb:
sudo apt-get install gitweb
ubuntu中gitweb cgi脚本应该默认放在/usr/lib/cgi-bin/中,刚好和apache2默认的cgi-bin目录一致,太体贴了 :)
否则,请参照apache的default配置,为你的apache2增加响应gitweb cgi的路径,例如:
Alias /gitweb /usr/share/gitweb
Redirect permanent /repos /gitweb
<Directory /usr/share/gitweb>
Options FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /opt/access/git.passwd
Require valid-user
</Directory>
2. 配置Gitweb,增加git库:将/etc/gitweb.conf中的$projectroot指向你git库(允许多个)所在的目录。
3. OK。访问http://yourhost/repos应该可以看到所有git库的代码了,包括更新足迹。
4. 编辑gitweb.cgi,设置Gitweb,比如公司logo之类的(参考)。
二、通过Smart Http提供代码下载、上传服务:
Smart Http是通过激活Git(1.6.6及以后版本)自带的、名为git-http-backend的cgi脚本实现的。注意,此脚本只在Apache2.x上有效。
1. 配置apache2,开启git-http-backend脚本:
SetEnv GIT_PROJECT_ROOT /my_repos_root_path
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /repos/ /usr/lib/git-core/git-http-backend/
现在git clone http://yourhost/repos/xxx.git应该可以检出你的xxx代码库了。
但是,处于安全考虑,没有授权方式的访问不提供上传(push)服务,所以暂时还不能push你的更新到代码库中。
2. 配置授权,开启push服务。这里以basic授权为例:
<Location /repos/>
AuthType Basic
AuthName "Git Access"
AuthUserFile /opt/access/git.passwd
Require valid-user
</Location>
当然,你也可以配置成匿名clone,授权push的工作方式,这里就不举例了,参考这里。
分享到:
相关推荐
[root@www downloads]# Wget http://git-core.googlecode.com/files/git-1.7.9.tar.gz [root@www downloads]# tar -xlvf git-1.7.9.tar.gz [root@www downloads]# cd git-1.7.5.4 [root@www downloads]# ./configure...
搭建(基于http协议)git服务器的安装配置说明.docx
一、安装GITWindows下使用msysgit,下载地址:http://code.google.com/p/msysgit/本文使用Git-1.7.8-pre
然后双击 gitblit-1.9.3 下的gitblit.cmd 批处理文件 启动服务器 一直等到 CMD 程序框出现 Started ServerConnector@xxxxxx{HTTP/1.1} {你填写的IP地址 +端口号} Started @XXXXXms 然后在浏览器输入 你设置的的IP...
近在学Linux,终于在Linux上用Apache搭建起了Git服务器,在此记录一下。 服务器:阿里云服务器 Linux版本:CentOS 6.5 Apache版本:Apache/2.2.15 Git版本:git 1.7.1 Git访问方式:基于http的基本...
Gogs极易搭建的自助 Git 服务器代码,是一款极易搭建的自助 Git 服务。 ## 项目愿景 本项目旨在打造一个以最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制...
这是一个Git私服搭建的文档,来源: https://www.cnblogs.com/jeremylee/p/5626240.html 前四步为配置java环境 第五步:下载Gitblit.下载地址:http://www.gitblit.com/ 第六步:解压缩下载的压缩包即可,无需...
用于搭建 windows 本地svn服务器 配套文章地址:http://blog.csdn.net/cwqcwk1/article/details/9167267
搭建(基于http协议)git服务器的安装配置说明.docx
下载:jdk-8u181-linux-x64.tar.gz http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装:sudo tar zxvf ./jdk-8u181-linux-x64.tar.gz -C /opt 配置:vim ~/.bashrc(针对...
本文用到了node-git-server 1、检测本地git版本 该包的使用需要机器上本来就安装git,且git的版本大于等于2.7: ╭─root@lt /home/workspace ╰─# git --version git version 2.7.4 2、利用npm安装包 ╭─...
4.2 在服务器上搭建 Git 4.3 生成 SSH 公钥 4.4 配置服务器 4.5 Git 守护进程 4.6 Smart HTTP 4.7 GitWeb 4.8 GitLab 4.9 第三方托管的选择 4.10 总结 5. 分布式 Git 5.1 分布式工作流程 5.2 向一个项目贡献 5.3 ...
第5篇 搭建Git服务器 第27章 使用 HTTP 协议/ 398 27.1 哑传输协议/ 398 27.2 智能 HTTP 协议/ 400 27.3 Gitweb 服务器/ 401 27.3.1 Gitweb的安装/ 402 27.3.2 Gitweb的配置/ 403 27.3.3 版本库的 Gitweb 相关设置/ ...
2021-2022年精品资料
本文最终目的是实现Android终端访问虚拟机中git服务,所以需要搭建http协议的git服务器,而如何搭建http协议的git服务器,前人之述备矣,笔者遂借鉴前人之作这里 二.设备信息 windows10家庭中文版(1903) VMware 15...
我们的目的比较简单,利用node.js在本地搭建HTTP服务器,实现hello word。 系统环境: win7 64bitIP:127.0.0.1Node.js:v6.10.2Npm:3.10.10Git:2.12.2.2-64-bit 基本安装: 1.Node.js安装包及源码下载地址为:...
1.到nginx源码目录新建个rtmp目录 ,进入 git clone https://github.com/arut/nginx-rtmp-module.git 2.重编译nginx 代码如下 ./configure –prefix=/usr/local/nginx-1.2.9/ –add-module=./rtmp/nginx-rtmp-...
Ubuntu 18.04_ Install Gerrit for Git code review ubuntu 上部署 gerrit 服务器 , 使用 apache2 作为web端, 可手动设置用户名密码.
简言之,就是基于Git引入的强制代码审核机制,原来是git push->Git库,现在则变成了git push->Gerrit(代码管理者审核通过)->Git库。当然这是个不严谨的描述,较为详细的介绍请参见...
libuv-httpserver 作者:赖安最后修改时间:2014.12.23 基于 libuv 和 http-parser 的简单 Web 服务器。 (只回显Hello, World!\r\n )依赖关系它需要最新的稳定版本: , Release v1.0.2 (2014.12.10 发布) , ...