Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2548279
  • 博文数量: 2110
  • 博客积分: 18861
  • 博客等级: 上将
  • 技术积分: 24420
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-05 18:23
文章分类

全部博文(2110)

文章存档

2011年(139)

2010年(1971)

我的朋友

分类: LINUX

2011-02-06 23:30:33

 一直很多公司使用 Subversion 来管理自己和其他人的项目,甚至文档和资料也是通过 Subversion 来管理的。最近大家对 Subversion 抱怨变多,主要是因为慢,特别是 merge 速度很慢,checkout 也很慢,从本地局域网 checkout 有时候不到 20K 每秒,一直想找个机会换掉 Subversion。版本控制软件可选的不多,有名的就这么几个:CVS、Subversion、Arch、Bazaar、BitKeeper、Git。Git 是 Linus Torvalds 开发的一套版本控制系统,其初衷是用来替代 BitKeeper。经过一段时间的沉淀,现在 Git 终于开始步入主流,在开源项目里很受欢迎,Linux Kernel、Perl、Gnome、Ruby on Rails、Android、Fedora、Debian、X.org 等都是用 Git 来做版本控制的,Digg 最近也在考虑从 Subversion 移到 Git。Git 是分布式版本控制,与 Subversion 集中式控制不同,刚开始接触 Git 可能有点不适应,一旦熟悉以后就会发现 Git 特别方便,简单实用,而且速度超快。Trac 和 Subversion 组合起来很强大,通过 Git Plugin for Trac 插件 也可以把 Trac 和 Git 组合起来,而且还不需要额外的类似 Apache + mod_svn 的支持。

安装和使用 Git

安装过程很简单:

# yum install git

增加 Git 用户:

$ git config --global user.name "vpsee"
$ git config --global user.email "admin@vpsee.com"

创建一个项目目录,把所有想被版本控制的文件、目录拷贝进来:

$ mkdir myproject
$ cd myproject/


在 myproject 目录里初始化 git,并把想要加入到 git 的内容做标记,最后 commit 到 git:

$ git init
$ git add .
$ git commit

上面初始化完成后就可以开始修改 myproject 目录里的内容,修改完毕后执行下面命令就提交到 git 仓库中:

$ vi file1

$ git add file1
$ git commit

如果 A(192.168.0.2)想在下载 B (192.168.0.1)机器上的 myproject 到本地,则需要在 A 机器上执行:

$ git-clone vpsee@192.168.0.1:~/myprojectB myprojectA

如果想 A 修改了 myprojectA 里面的文件以后,B 想合并到自己的 myprojectB,需要在 B 上执行:

$ git pull vpsee@192.168.0.2:~/myprojectA

如果 A 和 B 对 myproject 里的不同的文件进行了改动,那么可以轻松完成仓库合并;如果 A 和 B 对相同的文件进行了改动,那么合并时会遇到冲突的问题,此时需要手动修改冲突文件,然后将结果提交到本地仓库后再 push 到另外一台机器(或者从另外一台机器 pull)。

安装 Trac 和 GitPlugin

安装 Trac,需要安装 MySQL、Lighttpd 等,具体参考 CentOS 5 上配置 Trac 和 Subversion 一文,忽略 Subversion 和 Apache 部分。

有 0.10 和 0.11 两个版本,分别对应不同的 Trac 版本号,下载后安装:

# unzip gitplugin-r6411.zip
# cd gitplugin

# python setup.py install

如果安装的是 0.10 版本,需要做如下修改,注意下面的 repository_dir 是 myproject/.git 不是 myproject:

# vi  trac/conf/trac.ini

[trac]
repository_dir = /home/myproject/.git
repository_type = git

[components]
gitplugin.* = enabled

如果是 0.11,需要做如下修改:

# vi  trac/conf/trac.ini

[trac]
repository_dir = /home/myproject/.git
repository_type = git

[git]
cached_repository = true
persistent_cache = true
shortrev_len = 6

[components]
tracext.git.* = enabled

打开浏览器 就可以浏览 source code 了。

阅读(570) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~