- A+
什么是Git
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git 与 SVN 区别
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
Git 与 SVN 区别点:
-
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
-
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
-
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
-
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
-
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
分支管理规范
主要分支
Master 生产分支:永远处在即将发布(production-ready)状态
Develop开发分支:最新的开发状态
辅助分支
Feature 功能分支:开发新功能的分支,基于develop,开发完成后merge回develop
Release 发布分支:准备要发布版本的分支(测试环境用的),用来修复SIT bug; 基于develop分支,完成后merge回develop和master分支
Hotfix 补丁分支:修复线上(master)紧急bug,等不及release分支就必须马上上线; 基于master分支,完成后merge回master和develop分支。
可视化管理工具推荐
1、TortoiseGit 万能小乌龟;
优点:几乎支持 git 的所有操作;
缺点:不好看。
2、Fork
优点:好看,支持大部分 git 操作;
缺点:没有中文。