1. 快速 
如果你每移动一下鼠标都要等待五秒,是不是很受不了?版本控制也是一样的,每一个命令多那么几秒钟,一天下来也会浪费你不少时间。Git的操作非常快速,你可以把时间用在别的更有意义的地方。

2. 离线工作

在没有网络的情况下如何工作?如果你用SVN或者CVS的话就很麻烦。而Git可以让你在本地做所有操作,提交代码,查看历史,合并,创建分支等等。

3. 回退

人难免犯错。我很喜欢Git的一点就是你可以“undo”几乎所有的命令。你可以用这个功能来修正你刚刚提交的代码中的一个问题或者回滚整个代码提交操作。你甚至可以恢复一个被删除的提交,因为在后端,Git几乎不做任何删除操作。

4. 省心

你有没有丢失过版本库?我有,而那种头疼的感觉现在还记忆犹新。而用Git的话,我就不必担心这个问题,因为任何一个人机器上的版本都是一个完整的备份。

5. 选择有用的代码提交

当你把纽带,冰块还有西红柿一起扔进搅拌机的时候至少有两个问题。第一,搅拌过后,没有人知道之前扔进去了些什么东西。第二,你不能回退,重新把西红柿拿出来。同样的,当你提交了一堆无关的更改,例如功能A加强,新增功能B,功能C修复,想要理清这一堆代码到底干了什么是很困难的。当然,当发现功能A出问题的时候,你无法单独回滚功能A。Git可以通过创建“颗粒提交”,帮你解决这个问题。“staging area”的概念可以让你决定到底那些东西需要提交,或者更新,精确到行。

6. 自由选择工作方式 
使用Git,你可以同时和多个远程代码库连接,“rebase”而不是"merge"甚至只连接某个模块。但是你也可以选择一个中央版本库,就像SVN那样。你依然可以利用Git的其他优点。

7. 保持工作独立

把不同的问题分开处理将有助于跟踪问题的进度。当你在为功能A工作的时候,其他人不应该被你还没有完成的代码所影响。分支是解决这个问题的办法。虽然其他的版本控制软件业有分支系统,但是Git是第一个把这个系统变得简单而快速的系统。

8. 随大流

虽然只有死于才随着波浪前进,但是很多时候聪明的程序员也是随大流的。越来越多的公司,开源项目使用Git,包括Ruby On Rails,jQuery,Perl,Debian,Linux Kernel等等。拥有一个强大的社区是很大的优势,有很多教程、工具。

Git 的优点的更多相关文章

  1. SVN与Git的优点差异比较

    今天自己还是很有进步的,但是 下午的进度很慢,学习还是得回去,不能在工位进行 在网上看到一篇有关于SVN与Git的区别 复制下来了,以后可以经常看看 一. 集中式vs分布式 1. Subversion ...

  2. git的优点跟缺点?

    优点: 1.分布式开发时,可以git clone克隆一个本地版本,然后在本地进行操作提交,本地可以完成一个完整的版本控制.在发布的时 候,使用git push来推送到远程即可. 2.git分支的本质是 ...

  3. Git的优点

    没有网络时也可以使用版本控制系统,这点svn做不到,如果你一直有网络,这个可以忽略: git由于所有版本都在本地的.git目录数据库中,因此它可以用指针随时改变指向,指向不同的版本,把它作为最新的he ...

  4. Git与SVN的比较及优点

    前天处女面被问到了你为什么要用Git而不用SVN,答的不是很理想,正好今天晚上小组内部进行了Git使用的培训,便想着总结一下Git与SVN的差异以及Git的优点. 一.Git与SVN的比较 1.git ...

  5. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  6. XCode与Git的完美融合,不再依赖其它Git客户端

    Git源代码管理工具的出现,使得我们开发人员对于源码的管理更加方便快捷.至于Git的优点以及与其他源代码管理工具有何区别,不是本文的重点,如果想深入了解可以搜索一下这方面的文章.下面直接进入主题,如何 ...

  7. Git 在团队中的最佳实践--如何正确使用Git Flow[转]

    原文地址:http://www.cnblogs.com/cnblogsfans/p/5075073.html Git的优点 Git的优点很多,但是这里只列出我认为非常突出的几点. 由于是分布式,所有本 ...

  8. 【android Studio】零git知识、零脚本命令,即刻体验git版本管理魅力!

    git的优点就不去多说了.阻碍咱新手体验它的唯一问题就是门槛太高,脚本看着像天书, 本文主要阐述的,就是如何在android studio上,也能像tfs那样,非常简单的操作,就能使用git进行版本管 ...

  9. git 服务器的搭建

    文章转载地址:http://www.linuxidc.com/Linux/2015-05/117502.htm 亲测可行,已经自己搭建一个正在使用中,搭建完成后,结合着pycharm +git,就能直 ...

随机推荐

  1. iOS RC4加解密算法

    -(NSString *)encrypt:(NSString *)string withKey:(NSString *)key{ self.sBox = [[self frameSBox:key] m ...

  2. spring data jpa Specification 例子

    /** * 封装查询条件 * * @param baseQueryDTO * @return */ private Specification<ActivityBase> getSpeci ...

  3. SGU 134.Centroid(图心)

    SGU链接: 时间限制:0.25s 空间限制:4M 题意: 给出一个树(节点数<=16000),一个节点的重量定义为从树中去除这个点后,新得到的所有树中节点最多的树的节点数.树的中心定义为所有节 ...

  4. wordpress version

    version info /readme.html /wp-includes/version.php remove copyright 1.wp-login.php //<h1><a ...

  5. centos7 开机启动某些程序的方法

    针对svn,nginx每次重启后均要手工启动,好麻烦,所以考虑将其做成开机启动,做成服务好麻烦,考虑像windows 一样,放在某个启动项中完成. 打开启动文件后,发现里面文件内容如下: #!/bin ...

  6. C宏系统缺陷

    这两天稍稍看了一下boost的preprocessor库,发觉boost那帮疯子竟然利用各种奇技淫巧定义出各种数据类型和结构,还在上面定义出加减乘除等等各种运算,在快速浏览的过程中,还瞄到了很眼熟的各 ...

  7. select控件变成可输入状态

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 功能: 用函数 funName 对数组 objArray 中的每个值进行处理一次,

    function each( objArray, funName ) {//功能: 用函数 funName 对数组 objArray 中的每个值进行处理一次,for(var i=0; i<obj ...

  9. notepad++使用心得

    最近和网友谈论软件编译器的时候,很多人都推荐使用notepad++这款软件,于是怀着一份好奇心安装了这款软件耍了耍,感觉确实不错.特将网友的分享以及自己的心得总结如下: 1)首先notepad++支持 ...

  10. 最新选择Godaddy主机方案美国数据中心教程指导

    随着Godaddy官方管理层的变动之后,主营重心已经从当初的域名开始转向到域名和主机产品上.这点我们从其发布域名优惠信息的频率也可以看到,而且我们可以看到常年的主机半价优惠,以及针对主机销售年付方案赠 ...