一、主流源代码管理工具简介

目前常见的主流源代码管理工具有GitHub、TFS(Team Foundation Server)、SVN(Subversion)、VSS(Visual Source Safe)、ClearCase等等。

二、工具比较

2.1 TFS

TFS为微软提供的版本控制服务,集成在Visual Studio中,版本控制需要联网,是一个团队工具,贯穿需求、开发、测试、发布各个流程提供自动化工具。

2.2 GitHub

Github为分布式控制版本,使用时灵活,支持多人同时维护庞大的开源代码,分支能力强大,支持离线提交、分布式推送拉取,使代码层面的协作变得更加流畅。

2.3 SVN

SVN支持Linux和Windows,操作简单,但技术性差。遇到问题需要从网上解决。

2.4 VSS

VSS只能在Windows平台运行,安全性不高。面向独立开发者和小型开发团队。

2.5 ClearCase

ClearCase功能强大,但使用难度高,价格较贵。

三、GitHub介绍

GitHub的仓库分为本地仓库和远程仓库,远程仓库是托管在网络端的仓库。本地仓库分为工作区、版本区,其中版本区包含暂存区、仓库区,本地文件git经过工作区、暂存区、仓库区到远程仓库。其核心为:工作区、暂存区、本地仓库区、远程仓库四个。

工作区:初始化本地仓库的目录;

暂存区:不可见,用来临时存储工作区修改的文件;

本地仓库区:不可见,永久在本地存储的代码,只是某一个开发者自己本地电脑上的仓库,自己使用,一般用于一个小阶段代码的保存;

远程仓库:远程线上的仓库服务器,一般该仓库用户存储工程的所有代码,方便不同开发者提交/下载代码。

GitHub的客户端主要用来管理自己的代码,更新,提交,查看历史记录,比较文件不同。客户端是版本控制系统,是本地代码和云端代码的桥梁。网页端相当于一个代码托管+社区网站,可以在云端存储从客户端提交上去的代码,同时还存储着所有其他人的私有和工有代码,可以查看公有代码、点赞、收藏、考本等。网页端的issues也非常重要,当发现代码错误或着某些地方出现问题,可以在相应的代码仓库提出问题。