版本管理工具不但可以备份而且还能记录版本,也就是同一个东西不同时期的状态同时可以跟踪追溯。
版本管理工具由CVS、SVN、Git、GitHub。

最早的版本管理工具CVS,因为多人开发项目导致工作很难协调所以就实现了CVS工具。

产品 特点
CVS 最早的版本管理工具,集中式管理,中心服务器,每个人都存放。
SVN 一个更好的集中式版本管理工具
Git 分布式的,由Linux开源社区诞生的。
Github 托管网站,一个项目可以有一个网站,项目代码可以托管到这个网站

Github和Gitlab的区别:Gitlab拥有Github的一切功能而且还有更多特性。用户界面丰富。Github可以理解为一个网站为用户提供GIT仓储,而Gitlab是基于GIT实现的项目管理软件,我们自己可以在公司内部搭建Gitlab服务。

GIT和SVN的区别:SVN等其他传统版本管理工具保存的是每个版本的变化

Git保存的是快照而不是结果

GIT中所有数据在存储前都进行数据校验然后以校验和来引用。在GIT数据库中保存的信息都是以这种SHA-1哈希值来保存的而不是文件名称。

状态  
Commited 已提交表示数据已经按照保存到本地数据库中
Modified 表示修改了文件但是还没有提交到数据库中
Staged 表示对一个已修改的文件的当前版本做了标记。

由上面三个概念引入的三个区域

  • GIT仓库:是GIT用来保存数据的地方
  • 工作目录:是对某个项目独立拉取出来的内容,放在你的本地
  • 暂存区:是一个文件,保存下次将要提交的列表信息

流程如下:

  • 从仓库拉取到工作区
  • 在工作区修改文件
  • 暂存文件,也就是对应的git add操作
  • 本地提交到本地仓库
  • PUSH到远程仓库

参考文档

Git简易指南

版本管理工具Git(一)简要介绍的更多相关文章

  1. 版本管理工具Git(1)带你认识git

    简介 本篇将带领大家认识,git.github,让大家对git有基本的认识:下面将持续更新几篇文章来介绍git,见git导航: 下一篇中将讲解git的安装及使用: Git系列导航 版本管理工具Git( ...

  2. linux系统下使用流行的版本管理工具 Git

    前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...

  3. 版本管理工具Git(2)git的安装及使用

    下载安装git 官方下载地址:https://git-scm.com/download/win 这里以windows为例,选择正确的版本: 验证是否安装成功,右键菜单中会出现如下菜单: Git工作流程 ...

  4. 版本管理工具Git(2)git的使用

    上一篇带大家认识了Git,在本篇中将讲解Git的安装及使用: Git系列导航 版本管理工具Git(1)带你认识git 版本管理工具Git(2)git的安装及使用 版本管理工具Git(3)VS下如何使用 ...

  5. 版本管理工具Git(3)VS2013下如何使用git

    Git系列导航 版本管理工具Git(1)带你认识git 版本管理工具Git(2)git的安装及使用 版本管理工具Git(3)VS下如何使用git VS下创建项目 vs中新建项目MyGitTest201 ...

  6. 版本管理工具git与svn简介

    版本管理工具 版本管理工具简介 常见版本管理工具 cvs(Concurrent Versions System) vss(Visual SourceSafe) svn 常用的版本管理工具 git 流行 ...

  7. Studio之版本管理工具Git (图文教程)

    目前业界主流的版本管理工具主要是 svn/git.svn是1种集中式的代码管理工具,而git是1种散布式的代码管理工具,广受极客的爱好.而基于git的github更是全宇宙码农的提高逼格,深究技术的必 ...

  8. 谈谈分布式版本管理工具Git

    一.主流的版本管理工具 目前在企业中比较主流的版本管理工具有:GIT.SVN.CVS等等. 二.什么是Git? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 L ...

  9. git版本管理工具-git的概述

    什么是git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目的一种工具 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不 ...

随机推荐

  1. iOS键盘事件实现、控制

    记录于2013/6/26:   一.点击键盘上的“Done”按钮关闭键盘 1.视图控制器实现UITextFieldDelegate协议 2.设置文本框属性      textField.returnK ...

  2. oracle行转列、列转行、连续日期数字实现方式及mybatis下实现方式

    转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9977591.html 九月份复习,十月份考试,十月底一直没法收心,赶在十一初 由于不可抗拒的原因又不得不重新找 ...

  3. tensorflow 使用 5 mnist 数据集, softmax 函数

    用于分类  softmax 函数 手写数据识别:

  4. Google FireBase - fcm 推送 (Cloud Messaging)

    要将 Firebase 添加到您的应用,您需要有一个 Firebase 项目以及适用于您的应用的 Firebase 配置文件. 如果您还没有 Firebase 项目,请在 Firebase 控制台中创 ...

  5. spring ref &history&design philosophy

    Spring Framework Overview Spring是开发java application的通用框架,分为多个模块(modules),核心是core container,包括configu ...

  6. 详解Session和cookie

    1.cookie 1.1. 为什么会有cookie? 由于HTTP是无状态的,服务端并不记得你之前的状态.这种设计是为了HTTP协议的方便,但是也存在一些问题.比如我们登录一个购物网站,我们需要用户登 ...

  7. 用cmd命令执行SQL脚本

    1.简单说明 osql 为SQL Server的命令 2.要在cmd中执行该命令,一般安装SQL Server后该命令对应的路径会自动添加到系统环境变量中. 3.-S 表示要连接的数据库 -U表示登录 ...

  8. LoadRunner(一)——性能测试基础及性能指标概述

    参考学习感谢:<精通软件性能测试与LoadRunner实战> 一.典型的性能测试场景 某个产品要发布了,需要对全市的用户做集中培训.通常在进行培训的时候,老师讲解完成一个业务以后,被培训用 ...

  9. 计算CPU的MIPS

    如图: MIPS=主频/CPI*(10^6), 其中CPI的计算公式为CPI=总的时钟周期数/总的指令数 CPI=(0.5a*2+0.2a*3+0.1a*4+0.2a*5)/a=3

  10. angular.js学习笔记(一)

    1.angular单项数据绑定 2.不要使用控制器的时候: 任何形式的DOM操作:控制器只应该包含业务逻辑.DOM操作则属于应用程序的表现层逻辑操作,向来以测试难度之高闻名于业界.把任何表现层的逻辑放 ...