Chinaunix首页 | 论坛 | 博客
  • 博客访问: 480364
  • 博文数量: 95
  • 博客积分: 2117
  • 博客等级: 大尉
  • 技术积分: 2301
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-16 21:10
个人简介

辽宁铁岭人,现居大连。1970年生。 先后供职于 中国国际海运网、大连学堂科技、大连华仁视线网络科技有限公司、大连中科海云科技有限公司,任职技术总监。 精通PHP、JAVA、Javascript、HTML、CSS等网络编程技术及Linux操作系统。 精通面向对象编程、设计模式、重构及互联网产品设计。

文章分类

全部博文(95)

文章存档

2013年(31)

2012年(2)

2011年(34)

2010年(25)

2008年(3)

分类: 项目管理

2012-12-12 17:22:25

关于Git

对于Git,不想说太多,只说一点:

在SVN或其它集中式版本控制工具中,所有人的代码只能一步提交到中心代码库,而很多CI(自动化持续集成)工具会设定在一定时间间隔内对代码进行集成和布置。

因此,所有人只能在确定代码完全是正式的且无问题的情况下才能向代码库提交代码。

作为程序员,会有很多时候尝试各种方案解决问题,需要将各种方案进行实时保存并能在换一种方案后,仍能找回前一种方案。这本来是版本控制工具能够提供方便的地方。但在集中式版本控制工具中,这种优势无法使用。

对于Git或mecurial这类分布式版本控制工具中,就可以建立下面的拓扑结构:

multilayergit5

每个人在自己的终端上维护一个本地的版本库,可以随意进行各种尝试,并能随时保存或找回代码,且不会影响组内的其他人。

在确认自己的代码可以在组内共享时,就可以提交到小组服务器,小组内可以以此服务器保持组内一致,进行代码的内部集成和测试等,不会对中心服务器有任何影响。

当所有的代码经过组内的严格测试和验收后,可以由小组服务器的维护人员将代码推送至中心服务器,成为主版本库的一部分。CI服务器仍然定时扫描中心服务器的代码是否有更新,据此进行集成和布置。

安装Git(Windows系统)

下载MSys Git

下载地址为:

下载后,打开安装包,一步步安装即可。其中Adjusting your PATH environment这一步,建议选择第二种方式:Run Git from Windows Command Prompt。

设置几个环境变量

在命令行下使用如下命令设置user.name,user.email,color.ui:

git config --global user.name "yourname"
git config --global user.email ""
git config --global color.ui "system"

使用如下命令查看设置是否成功:

git config –global –list

下载安装TortoiseGit

下载地址为:

打开安装包,一步步安装即可。

Git的使用就不在这说了,太多资料了,下面进行Gitweb设置

首先,修改Apache的配置文件httpd.conf,添加如下一行:

Include conf/extra/httpd-git.conf

然后在Apache安装目录的conf/extra下建立httpd-git.conf文件,内容如下:

SetEnv GIT_PROJECT_ROOT "F:/kuaipan/Gitrepos"
SetEnv GIT_HTTP_EXPORT_ALL
1
ScriptAlias
/repos "C:/Program Files/Git/libexec/git-core/git-http-backend.exe/"


  Allow From All


  Order Allow,Deny
  Allow from all
  AuthType Basic
  AuthName
"GIT Repository"
  AuthUserFile
"C:/Program Files/Git/htpassword"
  Require valid-user

Alias
/gitweb "C:/Program Files/Git/share/gitweb"

  AddHandler cgi-script .cgi
  <Files ~ "\.cgi$">
     Options +ExecCGI
 
Files>
  AllowOverride None
  Order allow
,deny
  Allow from all
  DirectoryIndex gitweb
.cgi

 

第一行中的路径是准备用来存放Git库根目录的路径,第三行的路径中/repos用于将来用http协议访问,后面的路径是git-http-backend.exe的路径,具体安装位置就在Git的安装路径下的libexec/git-core中。

然后切换到Apache安装目录下的bin目录,使用Apache命令建立密码文件,注意路径要和上面的AuthUserFile所指定的路径一致:

htpasswd –cmd C:/Program Files/Git/htpassword abc 123456

接着,修改gitweb.cgi

第一行改为:

#!C:/Program Files/Git/bin/perl

注意,不能用另外安装的Perl如ActivePerl替换这个路径,gitweb.cgi不能在那些perl下动行。

将Git命令的变量改为git的命令文件的安装路径:

our $GIT = "C:/Program Files/Git/bin/git"

将项目的主路径改为准备存放库的根路径,这里要与httpd-git.conf中的库路径相同。

our $projectroot = "/F/kuaipan/Gitrepos"

注意,这里要用msysgit的语法来写,盘符后没有冒号。

建立库目录,打开f:\kuaipan\Gitrepos文件夹,建立一个XXX.git的子文件夹,打开此子文件夹,右击,选择Git Create repository here…

在弹出的对话框中,勾选Make it Bare (No working directories)

最后,启动Apache,就可以在浏览器中输入

利用web来查看和管理git。

也可以在TortoiseGit中直接使用

来访问刚刚建立的Git库。

参考文档:

http://woodyhuang.iteye.com/blog/1485754

http://www.devbean.info/2011/10/apache-git-server-on-windows/

http://www.cnblogs.com/wangshuai901/archive/2012/02/22/2362924.html

http://my.oschina.net/u/174445/blog/37057

*

http://www.cnblogs.com/note/


Gitweb在Linux下的安装,请参考 http://tom-cjp.iteye.com/blog/1005081

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