首页 > 代码库 > 学习和使用SVN和GitHub——开篇

学习和使用SVN和GitHub——开篇

    本文是学习和使用SVN和GitHub之开篇,主要讲的有四点内容:

    一,介绍基层程序员对SVN功能的认识和使用程度

    二,阐述我要学习和使用SVN和GitHub的原因

    三,简要描述SVN和GitHub在使用上的区别和简单描述自己第一次在GitHub上建立repository

    四,进一步介绍SVN和GitHub的区别和相同点,这一点也是需要在以后的工作和学习中不断探索和实践的

 

    SVN是程序员的必备工具之一,SVN是用来进行代码管理和项目管理的。基层程序员因为很少做项目管理,因此对SVN的功能也仅限于update,修改代码,merge代码,commit代码的层次上,对trunck和branch等项目管理的功能了解较少,我就是这些劳工之一。

    最近我为如何重构工作中一个模块的代码寻找灵感而在看《代码整洁之道》,学习到实践部分的第14章时,迟迟看不懂这上面的代码,理不清头绪,那得换个思路解决问题,我就决定先敲下来,再写几个用例测试一下,看一下效果,但是书上的代码是渐进式的,就是说功能由少到多慢慢实现的,我想保存敲好了的代码,这时候想到版本控制工具。

    常用的版本控制工具是SVN,但是需要在自己的电脑上建立版本库,需要搭建环境,我就在找有没有可以在网上进行版本控制的,找到一个GitHub,之前也听说过,看过介绍,说使用方便,并且解决了SVN至今仍未解决的某些问题,而且最初是Linux之父Linus Torvalds编写,看过Hello-World tutorial后,自己创建了一个repository,在master上添加文件,创建branch,并修改已有的代码,合并提交。

    初步感觉SVN和GitHub在使用上都是很方便的,但还是有区别的。区别有目标人群和适用项目的机密性不一样,一般公司的项目基本上是机密的,不可能想让外人看到源代码,这时会选择在自己公司内部署服务器搭建SVN平台,使用的人也只能是公司的员工而且要在公司内部登录,而GitHub一开始是为了开源项目开发的版本控制工具,是为了可以让处于世界每一个角落的人一起开发项目,这种项目一般不向用户收费,虽然GitHub也有私有和加密的功能,但能有几个公司敢冒风险让自己的源代码放在互联网上呢。二者均是版本控制工具,当然会有一致的地方,比如基本原则,虽然SVN上的主干叫trunck, GitHub上的主干叫master,但是不论是trunck或是master,它们均是可以部署的版本,不是用来临时修改故障、添加需求的临时版本。

    我对SVN和GitHub的认知程度只限于此,这也是需要改进和提高的地方,待续。

学习和使用SVN和GitHub——开篇