关于版本控制系统... ...

Nooooo_
  • 113

本人实习生,面试的时候被问到平时使用什么版本控制系统.我问了一句什么是版本控制系统,就被挂了.
之前在学校确实不知道有版本控制系统这个概念,现在想学习一下,不知道有学哪个好,貌似有好多,什么git,svn,cvs.一般都是用哪个? 有什么资料适合初学者的?

回复
阅读 8.7k
28 个回答
  1. 用Git吧,之前使用svn的很多人现在也都专项Git了。Git相对应svn有很多的优点,你可以去网上搜一下,这种资料一搜一大堆。

  2. 不知道你是做什么开发的,如果是软件开发的话,多逛逛github,这个也有可能会在面试中问道。

  3. Git的指南,我这里有一些:
    这个是我强烈推荐的:比我之前看到的要简单易懂 http://iissnan.com/progit/html/zh/ch2_1.html
    还有这个可以在线练习,都不错:http://pcottle.github.io/learnGitBranching/
    当然还有很多,希望你自己能发现

  4. 如果面试的时候回答不知道什么是版本控制的话,呵呵,肯定是要被刷的。。。。。

问题一:
在国内的环境下,你需要SVN和Git这两个都掌握,因为很有可能你昨天面试的公司用SVN,今天面试的就用Git。不过主要可以先针对Git学习,毕竟国际主流,相较于SVN有一些优势。

问题二:
Git的简易教程
慕课网视频教程(这是网站主址,关于Git与SVN请自行搜索)
极客学院视频教程(同上参考)

PS:
针对你所使用的操作系统,选择一个好的图形化工具也是必要的,这有助于你快速上手。

git 最好用了~~~~~~~~大公司都在用

svn和git都行,svn不是分布式的,git是分布式版本管理系统,可以先从svn入门,再学git

viplg007
  • 4
新手上路,请多包涵

svn或者git都可以用,随便哪个都不重要,重要的是随便挑一个马上开始用起来。

哪个不是重点 哪个你需要你用到才是重点

建议git和svn都要使用。
svn可能更加适合新手,更加简单、直观,易于理解。
不过git是更加先进的工具,也是必备的技能,如果不会用git,很多在github上的项目都没法follow,也不能用git和其他人协作,想想还是很坑的。

你把逛GitHub用来代替平时逛论坛,逛微信朋友圈的话,git基本就熟了。。。

git和svn都是比较主流的版本管控工具,作为实习生,建议对这两个都要有最基本的认识。

他们的作用都是管理代码,版本控制,有助于代码保护和团队成员的协同开发。

而它们的不同,简单来讲就是管理方式的不同。在实际使用中的体现就是,svn相对更容易的实现了单线的版本控制,方便的解决代码的冲突。而git相对更方便的实现灵活的分支管理。

目前两个都在网上有比较完备的资料以供学习,都是比较容易掌握的。

有可能的话,都应该学会,毕竟技术不会嫌多,特别是有用的。而且,你未来的公司用什么并不确定,掌握的更全面,会让找工作的路也更宽。

1.vcs(version control system)是开发中不可缺少的工具,有掌握的必要性,面试中说不知道cvs,是挺尴尬而且不应该的一件事儿。
2.vcs 有很多种实现,git/svn/tfs,每个cvs的实现思路都有所不同,使用体验也不同。比如,tfs/svn都是依赖中心服务器的vcs,git是分布式vcs,所以git工作起来要比tfs/svn要快一些。
3.你可能需要建立一种快速认识和学习一项技术的技能,当然这和开发经验有很大的联系,不过经验也是慢慢积累起来的不是一日之功。
4.如果自学能力比较强的话,建议直接学习git,git book,git pro都是很好的教材,不仅仅包括git知识,还有关于cvs思想的介绍。另外有很多其他的学习资源,比如qq群,实验楼,很多公开课,博客之类。
5.git是很流行的cvs,有很强大的社区力量,经验告诉我,学习开发技术,社区是重要的资源,交流使开发者进步。有社区的学习和没有社区的学习有本质的不同。另外,在学习git的过程中可以直接使用github.com的服务,将代码托管到github服务器。

学习git吧,现在不提分布式都不好意思说你是学计算机的 ,学习git资料的话,我在github上有篇整理,目前star 580+,fork 170+ ,个人感觉还是不错的 ,地址:https://github.com/xirong/my-git

版本控制透过文档控制(documentation control)记录程序各个模组的改动,并为每次改动编上序号。这种方法是工程图(engineering drawings)维护(maintenance)的标准做法, 它伴随着工程图从图的诞生一直到图的定型。 一种简单的版本控制形式,例如,赋给图的初版一个版本等级“A”。当做了第一次改变后,版本等级改为“B”,以此类推等等。
http://baike.baidu.com/view/183136.htm

你应该说:“这他娘就是一个工具,跟锤子一样,老子拿起来就会用。”

用git吧.
我们以前用的svn,主干开发,线上版本打分支.这种模式,1周发布一次版本,或者2周发布一次,各种痛苦.
现在改用git,严格走git work flow,每天一版本,各种补丁,各种畅快.

我用Git。详细描述。不知道

毫无疑问是Git,Git学习曲线比较陡峭,但是你一但适应Git之后你就会发现SVN实在是太傻逼了。
Git需要花时间钻研,学习最好的资料就是Git官网的文档,中文版简单易懂,非常适合初学者。

这是《Pro Git》的中文版,这本书有多种格式,适合在iOS,Android,Kindle平台看。

国内一般公司用svn的比较多,不过git更高大上

Git 我推荐Git,我用过SVN感觉功能上没有Git强大,Git必定是趋势

等车的猪
  • 4
新手上路,请多包涵

别犹豫,之间git。我所在的公司原来是用的svn,我入职的时候换成了git。git相比svn有太多优势了,选git准没错,如果时间多可以深入了解了解git的原理,如果没时间就直接快速上手吧,学点基本操作clone、push、pull什么的,工作上应该可以满足了。
gys.nanjing@gmail.com ,欢迎交流~

也可以试试 mercurial 然后在看Git

不一定,我们git和svn都用,各有千秋吧

宣传栏