IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [翻译]为什么使用Git

    Ivan Cai发表于 2014-11-13 19:10:00
    love 0

    原文地址:http://www.git-tower.com/learn/ebook/command-line/appendix/why-git

    现在市面上的版本控制系统多如牛毛,但是一些世界上最有名的项目(比如Linux内核,Ruby on Rails,jQuery)都在使用Git作为他们的版本控制系统。这儿有些他们这样做的原因。

    节约时间

    Git飞一般的快。只要每个命令慢上几秒,一天工作下来也是很可观的。把时间花在一些更有用的事情上,而不是看着你的版本控制系统显示“稍等片刻”。

    离线工作

    当你在路上时如何工作?如果使用像CVS或者是Subversion这样的中心式的版本控制系统,一但没有连接上中央仓库,你就干不了什么事了。使用Git的话,基本所有操作都可以在本地完成:做提交,浏览项目历史,合并或者创建分支。。。Git能让你随时随地工作。

    撤销错误

    是人总会犯错的。Git的一个优点就是几乎在所有情况下都有撤销指令。当你忘记包括一些细微的改动时,你可以校正你的最后一次提交。开发出一些不必要的特性时,你可以撤销整个提交。当一些糟糕的情况出现时,你甚至可以使用Reflog还原消失的提交-在后台,Git极少删除一些东西。

    做有用的提交

    一个提交只有包含有相关性的改动时才是有意义的。想象一个包含特性A、一点点特性B还有一些Bug C的修复的提交。你的队友只会觉得难以理解,一旦其中的某些代码出现问题,回滚起来是很困难的。Git利用其特有的“暂存区域”概念帮助你创建小粒度的提交:你可以决定到底哪些修改应该被包含在下一次的提交中,甚至精确到某一行。这便让版本控制开始变得十分有用。

    以自己的方式工作

    当你使用Git工作时,你可以按照让自己舒服的的流程进行。你不一定要成为码犇才能使用Git。当然,你也可以连接多个远端仓库,使用rebase而不是merge,甚至还可以用用子模块。追求简单的话,你可以像使用Subversion那样,只在一个远端中央仓库上工作。其他的特性依然存在,使用与否取决于你的工作流。

    不用把东西混在一起

    分离关注点是持续跟踪事物的关键。当你在开发特性A时,任何其他东西都不该被你未完成的代码所影响到。当你发现这个特性不再需要或者在提交10次后才发现完全搞错了的时候该怎么办?分支是解决这些问题的好办法。虽然其他版本控制系统都有分支,但是Git是第一个把它做得像它本该的那样又快又方便。

    追随潮流

    只有枯木才随波逐流,有时,聪明的程序员也会这么做。Git正在越来越多地被知名的公司和开源项目所使用:Ruby On Rails, jQuery, Perl, Debian, Linux内核。。。拥有一个庞大的社区是Git的一个优势,良好的生态系统会随之进化。大量的教程、工具和服务正让Git变得越来越有吸引力。



沪ICP备19023445号-2号
友情链接