切换到 Git 的 8 个理由

  提到版本控制,最近大家都在谈Git。当然,四处议论纷纷还不足以证明切换到Git上有多么正确。这里有一些能证明Git非常出色的有力事实。

1. 节省时间

  想象一下,每次动鼠标前你都要等待5分钟。这非常讨厌是不是?有了版本控制也是一样——我们每个命令消耗几秒,但是工作一天也累积起来了。但是Git快如闪电。把你的时间用在其他更重要的事情上,而不是等待版本控制工具的响应。

null

2. 离线工作

  你出差的时候要工作怎么办?用诸如Subversion或者CVS的集中式版本控制系统,如果你不能连上中央版本库你就不能工作。有了Git,在你 的本地机器上几乎能做任何事:提交、查看项目完整历史记录、合并(merge)或者新建分支……Git让你来决定何时何地开始工作。

3. 回退错误

  有时候我会犯错(我也不敢相信!)。我喜欢Git的是它的一个小小的回退命令就能用于几乎任何场景。修正最后一次提交,因为你忘记包含一个小改动。撤销整个 提交,因为那个特性已经不再需要。而且当处境变得困难时,你甚至可以用Reflog来恢复“已删除”的提交——因为在幕后Git极少会真正删除什么。这样 心定气闲。

4. 睡得香

  你曾经粉碎过Subversion的版本库吗?我就做过(我说这个的时候记忆的伤痛犹在)。有了Git,我可以信心十足,因为团队里每个人在自己电脑上的克隆就是一份可用的备份。另外Git里的几乎每个操作都是增加数据(很少有删除的)。想搞砸都很难。这种感觉很好。

5. 产生有用的提交

  把牛奶、冰淇淋和番茄投到搅拌机里会有(至少)两个问题。首先,启动搅拌机后,看着这一团东西,没人能说出你实际上放入的是什么。另外,你没办法把番茄再 “回滚”。你做的一批不相关的提交(一点点A特性,再带一点B特性,还有一个小小的补丁……)也是一样的。对你的队友来说,很难理解发生了什么。当出现问 题时,他们也不能简单地回滚特性A。Git能帮你避免这种混乱和创建粒状提交。其独一无二的“缓存区”概念能让你决定在下一个提交里到底包含哪些改动,甚 至小到哪些行。这是版本控制的用处所在。

6. 按自己的方式工作

  当用Git工作时,你可以有你自己的工作流程。那个你觉得好的流程。使用Git你不需要成为编程高手。当然你可以连接多个远程的版本库,用变基 (rebase)代替合并,需要时工作在子模块上。但是你也可以只是简单地工作在一个中央远程版本库上,如同在用Subversion一样。不管你的工作 流程怎样,所有其他的优点都还在。

7. 不会把东西搞混了

  分开关注是追踪事情的最高原则。当你工作在特性A上时,任何事(人)都不会被你未完成的代码所影响。如果这个特性不再需要了呢?或者如果在10个提交之后, 你发现你做的完全不对呢?分支是这些问题的答案。其他的版本控制系统也有分支,但是Git是第一个让它做好它该做的:快速简单。

8. 潮流

  只有死鱼才随波逐流。有时候聪明的开发者也这样。Git被越来越多的知名公司和开源项目所使用:Ruby On Rails,jQuery,Perl,Debian,Linux内核,还有很多。大型的社区通常自身就是一个优点,因为一个生态圈会围绕着该系统演进。大 量的学习指南,工具,还有服务,会让Git变得更加吸引人。

原文发布时间为:2013-06-18

时间: 2024-10-26 07:26:08

切换到 Git 的 8 个理由的相关文章

版本控制从svn切换到git如何操作

假设当前的svn的工作目录是/var/www/test 1:查找并删除所有的.svn文件 cd /var/www/test find . -name .svn -type -d | xargs rm -rf 2:初始化git并提交. git init git add ./* git commit -m "init" 3:如果你不想把git仓库放到其他地方,而只是放到本机,则如下操作: mkdir /home/user1/git cd /home/user1/git git init -

迁移到 Git 的八个理由

最近谈到版本控制,所有人都在谈Git.当然随意的谈论并不能让你下定决心迁移到Git.这里列出了八条有分量的理由,让你加入Git阵营.  1. 快速 如果你每移动一下鼠标都要等待五秒,是不是很受不了?版本控制也是一样的,每一个命令多那么几秒钟,一天下来也会浪费你不少时间.Git的操作非常快速,你可以把时间用在别的更有意义的地方.  更多统计数据,请看 www.whygitisbetterthanx.com.  2. 离线工作 在没有网络的情况下如何工作?如果你用SVN或者CVS的话就很麻烦.而Gi

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目讲的,上篇主要是说用GUI来图形化界面操作,但是一般我们程序员也不会这么干,用命令又轻松又愉悦,所以,这里我就再开了一篇来专门说一下纯命令是怎么去操作的,但是要注意哦,其实廖雪峰老师的网站就是非常赞的学习资源哦! 廖雪峰老师:http://www.li

git分支的创建、切换、合并及删除操作小结_相关技巧

一.查看现存分支 查看现存分支 : git branch命令; git branch 从结果可以看出, 现在只有一个分支master; 二.创建分支 创建分支 : git branch 分之名称, 就可以创建一个分支, 创建完分支以后可以查看分支, 当前使用的分支会显示成为绿色, 前面带有 "*" , 如果不是当前使用的分支, 显示的是白色, 并且没有 "*" 前缀; git branch branch1 三.切换分支 切换分支 : git checkout 分支名

当执行Git命令时,Git做了什么

认识GIT的存储类型 Git存储类型主要有4种,blob,tree,commit,tag,他们以压缩的形式存储在.git/objects目录当中.其中blob和tree构成其完整的文件存储系统,类似于操作系统的文件系统.commit和tag则维护提交和标记等信息. 在Git的存储模型当中有一个原则,只要类型和内容相同,就会被认定为同一个文件,无论在工作区当中文件有多少份拷贝,在git库里面只会存有一份,并以其类型,大小和内容串接后的内容结果的散列值作为其文件名.其格式为: #TYPE# #SPA

Git分支利器简介

一.基本动作 Git 中的分支实际上仅是一个包含所指对象校验和(40 个字符长度SHA-1 字串) 的文件,所以创建和销毁一个分支就变得非常廉价. Git 是如何知道你当前在哪个分支上工作的呢?其实答案也很简单,它保存着一个 名为HEAD 的特别指针. 创建:git branch iss53 删除:git branch -d iss53 切换:git checkout iss53 创建并切换:git checkout -b iss53 查看哪些分支已被并入当前分支:git branch --me

零基础也能学会GITHUB 系列之GIT 速成

  1. 什么是Git? Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也很难理解,这里我只举几个例子来帮助你们理解. 熟悉编程的知道,我们在软件开发中源代码其实是最重要的,那么对源代码的管理变得异常重要: 比如为了防止代码的丢失,肯定本地机器与远程服务器都要存放一份,而且还需要有一套机制让本地可以跟远程同步; 又比如我们经常是好几个人做同一个项目,都要对一份代码做更改,这个时候需要大

Windows 8系统将成为赢家的十大理由

微软Windows8操作系统将于今年晚些时候推出,与早期版本相比,新系统的变化无疑是最大的,微软将利用其与苹果和Android在平板电脑市场上展开竞争.然而,也有不少业内人士唱反调.这包括来自软件兼容性以及预算方面的担忧,另外,一些企业可能尚未准备好采用新系统,更糟的是,Mac OSX卖的非常好,部分消费者已经背离微软阵营. 尽管面临所有这些挑战,2012年仍将是微软Windows 8成为赢家的一年. 理由1:新界面没什么可怕的 一些批评人士认为,Windows 8的新界面设计令人困惑,不易上手

Git远程09:Git服务搭建

GitHub和Gitlab是最常见的两个免费的Git Server,本博客就是搭建在GitHub上,GitLab没有于GitHub出名,其提供了免费的私有Git库,GitHub的私有库则是收费的.也可以在自己的服务器上搭建Git远程库,推送和拉取的速度比直接使用GitHub快,也不会存在安全性问题,本文介绍相关操作. 环境 操作系统:CentOS6.6 服务器IP地址:192.168.80.6 服务器Git版本:1.7.1 若服务器没有安装Git,请先安装. 1 # yum install gi