zoukankan      html  css  js  c++  java
  • 程序员修炼之道系列 | 版本控制

    虽然时光不能倒流,但撤销键(组合键和undo键)至少可以恢复几分钟前的操作。如果错误发生在上周呢?本期视频为大家推荐一个后悔药——版本控制系统,它的功能远不止于撤销。

    视频地址:https://www.zentao.net/programmer/version-control-80381.html

    版本控制是什么?

    版本控制系统相当于项目的时间机器,它会将所维护的所有文件都保存在一个“仓库”中,主要用于追踪文件的变更。在软件开发过程中,确保由不同的人所编辑的同一文件都得到同步。

    版本控制可以解决这些问题:

    1、版本存储

    使用版本控制系统,软件发布的所有版本和改动细节都会被保存,在正确命名的前提下,团队成员可随时找到之前的任意版本。

    2、协同合作

    在版本控制系统中,团队中每个成员都可以同时编辑同一个文件,自动合并编辑部分,解决合并冲突问题。

    3、备份 

    每一个团队成员都会在本地有一个完整的项目副本,包括整个项目的历史记录。如果某个成员的存储出现问题,恢复需要的所有文件都可以在其他成员的本地仓库中获得。

    4、了解发生了什么

    版本控制系统可以显示当前版本和上一个版本之间的所有修改细节:

    • 这行代码是谁改的?
    • 当前版本中我们修改了多少行代码?
    • 当前版本和上次版本的差异在哪……

    版本控制系统的演进

    1、本地版本控制系统

    描述:采用某种简单数据库来记录文件的历次更新差异。

    优点:不需要对项目频繁复制,避免了项目信息臃肿混乱,难以区分差异的问题

    缺点:无法解决多人协作问题

    代表工具:RCS

    2、集中式版本控制系统

    描述:解决本地版本控制系统的多人协作问题。

    优点:

    • 操作较简单,只需要拉取代码,提交代码;
    • 基本解决多人协作问题,每个人都可以从服务器拉取最新代码同步伙伴的进度;
    • 管理员可轻松控制各开发者的权限;
    • 只需要维护中央服务器上的数据库即可。

    缺点:

    • 提交更新都需联网跟服务器进行交互,对网络要求较高;
    • 风险较大,服务器一旦宕机,所有人无法工作。服务器磁盘一旦损坏,如果没有备份将丢失所有历史数据。

    代表 工具:CVS、SVN

    3、分布式版本控制系统

    描述:解决集中式版本控制系统的缺点。

    优点:

    • 去中心化,从中央服务器拉取下来的是一个完整的版本库;
    • 即使某一台机器宕机,也能找到文件的完整备份。

    代表工具:Git

    如今,借助版本控制工具,版本控制系统的与开发环境集成、赋予管理权限等更多功能已被解锁。一个充满协作、问题追踪、团队交流的更广阔的版本控制领域等我们一起探索。

    更多精彩视频分享:https://www.zentao.net/page/college.html

  • 相关阅读:
    hdu acm 2844 Coins 解题报告
    hdu 1963 Investment 解题报告
    codeforces 454B. Little Pony and Sort by Shift 解题报告
    广大暑假训练1 E题 Paid Roads(poj 3411) 解题报告
    hdu acm 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
    hdu acm 1114 Piggy-Bank 解题报告
    poj 2531 Network Saboteur 解题报告
    数据库范式
    ngnix 配置CI框架 与 CI的简单使用
    Vundle的安装
  • 原文地址:https://www.cnblogs.com/zentao/p/15127834.html
Copyright © 2011-2022 走看看