给SVN泼盆冷水,是时候用GIT了

作者: Terry_Wang | 来源:发表于2013-12-31 20:27 被阅读3955次
gitgit

前言

没有要排除任何工具的意思,只是眼下最流行的“版本管理系统”非GIT莫属。

写给新手

有些朋友可能会说我还没有使用过GIT,好吧,我不说你OUT了,只是在开始之前你应该简单了解下GIT。这里有个图文生动的好地方,有兴趣不妨来看一看----git - 简易指南

Git有什么不一样

如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。

  • SVN属于中心式的仓库管理,统一维护在Server端,而Git属于分布式的仓库管理,每个开发者都拥有自己的本地仓库,并且每个仓库都是平等的。
  • 由于你自己本身就拥有仓库,那么Git在本地磁盘上就保存着所有有关当前项目的历史更新,并且Git中的绝大多数操作都只需要访问本地文件和资源,不用连网,所以处理起来速度飞快。用SVN的话,没有网络或者断开VPN你就无法做任何事情。但用Git的话,就算你在飞机或者火车上,都可以非常愉快地频繁提交更新,等到了有网络的时候再上传到远程的镜像仓库。换作其他版本控制系统,这么做几乎不可能,抑或是非常麻烦。
  • 并且Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。
  • Svn?Svn是统一管理的好吧。开发时你的Boss说了算,说什么时候提交代码就什么时候提交代码,说什么时候更新就统一更新,你觉得很爽?
  • Git?Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并会发生在PULL和PUSH过程中,不能自动解决的冲突会提示您手工完成。

现在你知道有什么样的区别了把,奥斯托洛夫斯基曾经说过:“统一是扼杀创造力的根源”!(好吧,我杜撰的...)难怪这么多开源社区(比如OSC@China)都采用了Git,而不是... ...

我最讨厌SVN的两个地方

如果在公司规定就使用SVN(多数不是规定,而是确实不了解Git)那么我就很反感一下两点:

  1. SVN有点考验手速,谁提交的快就不需要解决冲突。这个有点烦人,大家明明在同一个Team中,有了冲突应该协调去解决,而不是最后那个“手速”慢的同学去独自跟冲突干上一仗。
  2. SVN对于文件更改记录的管理。每个文件夹下都有那么一个.svn的文件夹确实很不爽,你去管理你的东西,干嘛在我的开发环境下放上你的东西,不爽!

Git的GUI工具

不得不说的是很多朋友都有GUI偏好,或者说一个好的工具怎能没有一个好的“脸”呢?!好吧,这是Windows习惯的驱使,我只能说非所有程序猿都愿意使用命令行工具,尤其是被Windows惯坏了的那批。不得不说的是Git有自己的GUI界面,因此完全不需要其他的GUI工具。不过话又说回来,工具都有个习惯问题。基本上从SVN转换过来的程序猿,绝大多数都只用过TortoisSVN,好吧那你还用TortoisGit吧。

不过你可能不明白的是TortoiseGit没有集成Git,那么还需要去下载msysGit(或者Git for windows)来安装。因为TortoiseGit其实只是一个壳(其实和Svn一样),它需要调用Git命令行才能发挥作用。(现在你知道我为什么推荐你用命令行了么?)

TortoiseGit安装好是这个样子的:


tortoiseGittortoiseGit

还有就是另外一个GUI工具叫做SourceTree,个人感觉还是非常不错的,界面如下:


在此输入图片描述在此输入图片描述

Git for windows 和 msysGit

这个你大致了解下就行,只是多一种选择,多一条路。msysGit的主页提供了两个项目:Git for Windows和msysGit,并写明了它们的详细区别。
个人认为,Git for Windows适合绝大多数程序猿(又见绝大多数),所以,强烈建议安装Git for Window。
msysGit使用一种很BT也很NB的方式来安装。先安装一个最小的MinGW/MSYS系统,然后使用git pull 所有的源码,调用gcc在本地编译成可执行文件。

啰啰嗦嗦说了这么多,可能没有给大家在实际开发中帮上什么忙,Git的使用过程还需要大家自己去摸索。

相关文章

  • 给SVN泼盆冷水,是时候用GIT了

    前言 没有要排除任何工具的意思,只是眼下最流行的“版本管理系统”非GIT莫属。 写给新手 有些朋友可能会说我还没有...

  • 是时候给"自我"泼盆凉水了

    读《绝对自控》缘于我喜欢的一个译者的推荐。豆瓣评分不高,估计难入如今挑剔的读者的法眼。乍一看以为是治疗拖延症的,不...

  • 泼一盆冷水

    曾经以为自已很牛,在工作中顺丰顺水,职场上春风得意,不把别人放在眼里,在公司改革中冲在最前面,就这样经历了一年。当...

  • 无标题文章

    热情似火的笑容突然被泼一盆冷水。

  • SVN迁移Git

    参考:GIt - 迁移到Git 构建user.txt 关联svn用户和git用户。 用git svn导入svn库 ...

  • 给中国女排泼一盆冷水

    奥运会结束已一个多星期了,国人对奥运的狂热也渐渐消退。不知怎的,随着年龄渐增,对奥运的热情反而少了许多。或许是对“...

  • 重读‘活在未来’随感

    泼冷水是不用担风险的,如果你真失败了,‘你看,我早就告诉过你不行吧,'如果你成功了,真后悔没泼多几盆冷水把你浇灭—...

  • 自我反省

    回想这个月为备考银行中级放弃了很多活动。 但事与愿违,生活总需要泼几盆冷水。 56.5分

  • 科技云报道:是时候向量子计算泼一盆冷水了!

    科技云报道原创。 “尽管量子计算是当前最重要的科技问题之一,但真正实用的量子计算机还比较遥远。量子计算面临的不只是...

  • Svn与Git的区别

    平时用git比较多,突然老师让装SVN,所以就了解了一下git和svn的区别 Git是分布式,但是Svn不是 Gi...

网友评论

  • Terry_Wang:2014 年调侃了下 SVN。 现在来看,有些地方是偏激的,表达方式的偏激。但是 Git 带来的东西,尤其是工作、协作方式的变更,是可以极大地提高团队的生产力的。
  • 3674d0183b56:说的不错
  • Road:git现在是主流,而且工作方式也符合程序员
  • b4e46bbd7e5a:同样喜欢git,现在不管是多人,还是单人,动手之前先git init一下

本文标题:给SVN泼盆冷水,是时候用GIT了

本文链接:https://www.haomeiwen.com/subject/norctttx.html