常用版本控制工具

作者: 意识流丶 | 来源:发表于2019-03-01 19:59 被阅读3次

什么是版本控制?

可以把一个版本控制系统(缩写VCS)理解为一个“数据库”,在需要的时候,它可以帮你完整地保存一个项目的快照。当你需要查看一个之前的快照(称之为“版本”)时,版本控制系统可以显示出当前版本与上一个版本之间的所有改动的细节。

在团队开发中使用版本控制系统的好处

1.作为数据备份

这是一个主要的原因了。虽然数据备份同样可以用比较笨的方法:本地复制副本,但这种古老的方法有很多不足,无法应对频繁的修改,会照成版本混乱,不便于管理,并且占用空间。

2.版本管理

避免版本管理混乱。这是使用版本管理的最主要原因,也是版本管理的目的所在。你肯定不会希望在本地手动备份了多个副本后,到头来却不知道那个备份是最新的,那个备份进行了什么修改,修改日期是什么时候等等一切你记不清的问题。而版本管理软件能解决这些问题,它有详细的日志,能记住你的每一次提交、每一次改动,并且能够比较查看不同版本之间的异同,并且可以恢复到之前的任一版本。

3.提高代码质量

在没有版本管理之前,可能经常要在代码里写些不相关的注释,比如:某人某日对某代码进行修改;或是将一些不确定是否使用的代码用注释的形式保留等等,这些也就是僵尸代码啦。现在这些工作都可以交由版本管理工具完成,把这些不相关的僵尸代码从代码里删掉吧。

4.提高协同、多人开发时的效率。

及时提交更新代码,能让团队中的成员了解到代码的最新情况,避免重复劳动。

5.明确分工责任。

什么时候谁对代码做了修改、修改了什么内容,版本管理都会记录在案,方便查询,追究责任。

6.除了代码以外,很多文档、个人资料,如:简历等等都可以进行版本管理,这是有趣而高效的。凡是需要持续修改的文档资料都可以进行版本管理

下面来介绍下目前常见的版本控制工具

1.Git

Git是目前世界上最先进的分布式版本控制系统,使用Git和Gitlab搭建版本控制环境是现在互联网公司最流行的版本控制方式
简介:
Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务。
Git易于学习,占用内存小,具有闪电般快速的性能。
Github地址:https://github.com/git/git
官方网站:https://git-scm.com/
官方文档:https://git-scm.com/docs
中文文档:https://git-scm.com/book/zh/v2
下载地址:https://git-scm.com/downloads

2.SVN

简介:
TortoiseSVN是一款非常易于使用的Windows 版本控制/版本控制/源代码控制软件。它基于Apache Subversion(SVN)® ; TortoiseSVN为Subversion提供了一个简单易用的用户界面。
TortoiseSVN开源地址:https://osdn.net/projects/tortoisesvn/
Subversion的Github地址:https://github.com/apache/subversion
官方网站:https://tortoisesvn.net/
官方文档:https://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html
中文文档:https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html
下载地址:https://tortoisesvn.net/downloads.html

3.HG

简介:
Mercurial是一个免费的分布式源代码管理工具。它可以有效地处理任何规模的项目,并提供简单直观的界面。Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。相对于传统的版本控制,
Github地址:https://github.com/git/git
官方网站:https://www.mercurial-scm.org/
官方文档:https://www.mercurial-scm.org/wiki/BeginnersGuides
下载地址:https://www.mercurial-scm.org/downloads

4.CVS

CVS是版本控制系统,是源配置管理(SCM)的重要组成部分。使用它,您可以记录源文件和文档的历史记录。老牌的版本控制系统,它是基于客户端/服务器的行为使得其可容纳多用户,构成网络也很方便。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。
官方网站:http://www.nongnu.org/cvs/
官方文档:https://web.archive.org/web/20140629065005/http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs.html
下载地址:https://ftp.gnu.org/non-gnu/cvs/

优势:

1.更轻松的管理。传统的版本控制系统使用集中式的 repository,一些和repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository
2.更健壮的系统。分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
3.对网络的依赖性更低。由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。

版本控制工具的可视化客户端

1.Gitkraken

官网:https://www.gitkraken.com/

image.png
2.Tower

官网:https://www.git-tower.com

Tower的优点

1.便于使用:无需记住复杂的命令(及其参数)。Tower使许多高级操作像拖放一样简单。
2.撤消一切的功能:包括撤消本地更改,恢复旧版本,还原提交,恢复已删除的提交,撤消分支删除
3.清晰的可视化,更好的理解:Tower的清晰视觉界面非常有用 - 并且使复杂场景更容易理解。
4.优雅地使用Git:以简单,直观的方式解决合并冲突,不需要SSH密钥,用户名,密码和身份验证令牌进行验证

image.png
3.Sourcetree

简介:适用于Windows和Mac的免费Git客户端
Sourcetree简化了与Git存储库交互的方式,通过Sourcetree的简单Git GUI可视化和管理存储库

官网:https://www.sourcetreeapp.com/

image.png

相关文章

  • Git 基本用法

    Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它...

  • 常用版本控制工具

    什么是版本控制? 可以把一个版本控制系统(缩写VCS)理解为一个“数据库”,在需要的时候,它可以帮你完整地保存一个...

  • CornerStone(SVN)

    最常用的版本控制工具有SourceTree(GIT)和CornerStone(SVN); CornerStone(...

  • Git的使用

    先谈谈常用的版本控制工具svn和Git的区别 SVN是集中式版本控制系统,版本库是集中存放在中央服务器的。最大的毛...

  • DevOps开源工具有哪些?

    出于个人对DevOps好奇,整理到以下常用开源DevOps工具分享如下: 一、开发工具 版本控制&协作开发 1.版...

  • SVN代码实时变量查看和统计

    所有的研发团队都离不开版本控制工具,团队开发中,无疑最常用到的版本管理工具是SVN,还有很多团队使用git,这里不...

  • SVN代码实时变量查看和统计

    所有的研发团队都离不开版本控制工具,团队开发中,无疑最常用到的版本管理工具是SVN,还有很多团队使用git,这里不...

  • git 命令

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,it 与常用的版本控制工具 CVS, ...

  • Git最详细篇-五星收藏

    目录 一、版本控制概要 1.1、什么是版本控制 1.2、常用术语 1.3、常见的版本控制器 1.4、版本控制分类 ...

  • Git基础教程

    简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 与常用的版本控制工具 ...

网友评论

    本文标题:常用版本控制工具

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