git
是新出现的分布式源码控制系统,分布式(可离线操作),速度快.操作简单,在很多场合开始做GIT,象LINUX
内核,QT,Andriod 都采用git 来做源码控制.现在GIT的文档很多,但对于初学者和一般开发者,对GIT的使用场景没有系统的介绍.因此有了这一篇文章.
本文假设阅读者有GIT使用常识,和源码控制基本概念.
GIT的核心概念是用在开发者本地建立一个.git仓库,所有的操作都是首先在这个本地.git进行提交.然后再向其它位置传输.在本地创建仓库
用如下命令,后面不再重复.
git init <仓库名>
这里总结五种GIT应用模式,其中一二模式用单人或小团队.三,四用于大团队或集中管理.五.用于大团队或互联网
一.GIT单人应用模式.
这种模式常用于单人开发小软件.或者个人文档,源码的保存.这种处理也比较简单.
在项目开始时.要用 git add <文件名> 把需要提交的文件加入.git仓库
然后在项目中用 git commit 进行提交备份.
用git checkout <tag> 取出某一个备份
二.多人对等开发模式
用于多人处理平等地位,但是没有服务器的比较松散的情况,比如开源软件开发,公司团队较少没有使用服务器的情况.
在这种模式下.一个开发者可以用git clone命令完整从外一个开发者下载项目
在项目开发中,开发者可以用git pull从对方机器更新数据.或者用git
push把向对方机器传输数据.
三.Git服务器模式
适合一个公司有集中服务器的情况.首先需要在服务器建立一个.git裸仓库(意思只有版本数据,没有临时文件),建立方法,在服
git –bare init –shared
或者用 git clone –bare 克隆一个仓库.然后各个开发者可以用git
pull/clone来下载数据,用git push 来向服务器提交数据.
四.与SVN服务器配合模式
相对于git,传统的SVN有完善的权限管理和用户认证。并支持多用户并发。很多公司原来也是采用SVN的。并且与SVN配合的软件也相当多。因此在保留SVN服务器的同时。使用git来提交也是比较好的模式。
在git的新版本已经集成与svn的操作。使用git-svn
- git-svn svn clone 从SVN服务器复制到.git仓库
- git-svn rebase 从svn服务器更新数据到.git仓库
- git-svn dcommit 向svn服务器提交数据
五.git 服务器与Web服务器集成
这种模式可以把git的内容发布到支持cgi的WEB服务器上,如Apache/httpd等。
样例:
|