最近svn代码管理服务器崩溃了,切换到git来运作。
经过几天的使用,感觉很不错。
尤其是代码合并到正式版本之前 可以对代码进行 code review。
这样能很好的保证团队的代码质量和一些重复代码的出现。
如果你需要深入学习git,可能还需要搭配其他教程。
我这里简单的对git做一些笔记。有助于快速使用git。
如果你的项目进度很急,但是又需要你马上熟悉使用上手git,那跟着我的笔记来就可以。
git是什么
git是代码版本控制管理系统。
SVN与Git的最主要的区别
svn是以服务器为主的代码管理系统,只管理服务器上代码的变动。
SVN是集中式版本控制系统,版本库是集中放在*服务器的,而干活的时候,用的都是自己的电脑,所以首先要从*服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到*服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
git是分布式的,每一台安装了git的本身都是一个服务器,然后可以相互提交合并代码。
Git是分布式版本控制系统,那么它就没有*服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
git的优点
code review
代码合并到正式版本之前 可以对代码进行 code review,可以做集中的代码质量监控。
弹性分支
在svn下,你建一个分支需要把源代码复制到另外一个文件夹,而在Git下,创建分支的代价是非常小的,只需一条命令
版本切换方便
Git分布式架构使得本地仓库包含所有的历史版本信息,你可以在不同的版本之间快速切换,svn的话切换版本相当于重新下载一次整个项目。
代码目录整洁
git的代码版本内容按元数据方式存储,所有的版本信息都位于.git目录下,用Git复制一个项目,只会在项目根目录创建一个.git的目录,而其他目录很干净,切换分支也不需要多出一个项目工程。但是svn则是需要下载完整项目工程,这样不同版本分支你的目录里就会有很多套代码。
git和github以及coding.net的关系
相信很多人都听说过github,但是git不是github。git是一个版本管理工具,github则是一个代码仓库。github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。
而在我们公司开发,个人开发项目过程中,有些代码是不可能公开的。所以这就导致了想要使用git管理代码,但是又不能使用github来保存的情况。
这个时候coding.net就出现了。
Coding.net是一个代码托管平台,提供免费 Git 仓库,无限制数量免费创建公私有仓库。
它封装了git的代码管理功能,有可视化的界面操作代码的合并等和github的代码存储功能,而且可以建私有库,也就是说代码不需要公开也能上传,远程保存管理。
除了基本的 Git 仓库以外,还有保护分支,分屏对比,按行评论等高级功能。并且整合了 CodeInsight,质量管理,演示平台等等开发工具,提升研发效率。
所以我们这里可以git和https://coding.net 搭配使用。
当然,如果你想做开源项目,可以git和github搭配使用。