版本管理工具不但可以备份而且还能记录版本,也就是同一个东西不同时期的状态同时可以跟踪追溯。
版本管理工具由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. Ubuntu宿主机与VMware中其他系统虚拟机的互通

    Ubuntu做宿主机,VMware中创建Windows10,并且通过三种模式实现两系统互通,其实并非是件难事.在有线网卡未接网线的环境下,关闭两系统防火墙,基本遵从下文便可实现. 转载:https:/ ...

  2. tensorflow 使用 1 常量,变量

    import tensorflow as tf #创建一个常量 op 一行二列 m1 = tf.constant([[3, 3]]) #创建一个常量 op 二行一列 m2 = tf.constant( ...

  3. Java-IO流之File操作和Properties操作

    java的File类主要是用来操作文件的元数据,稍作演示如下: 其中方法getAllJavaFile()是使用了过滤器FileFileter,这个过滤器只需要实现accept方法,判断什么样的文件返回 ...

  4. mysql爱之深探测

    第一:函数 一:内置函数 MYSQL中提供了很多内置的函数,以下: CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二 ...

  5. PLC不能初始化问题

    检索COM 类工厂中 CLSID 为 <28e68f9a-8d75-11d1-8dc3-3c302a000000> 的组件时失败,原因是出现以下错误: 80040154 解决方案: Win ...

  6. Java课堂笔记(零):内容索引

    回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spri ...

  7. python爬虫第三天

        DebugLog实战         有时候我们需要在程序运行时,一边运行一边打印调试日志.此时需要开启DebugLog.         如何开启:         首先将debugleve ...

  8. java实现注册的短信验证码

    最近在做只能净化器的后台用户管理系统,需要使用手机号进行注册,找了许久才大致了解了手机验证码实现流程,今天在此和大家分享一下. 我们使用的是榛子云短信平台, 官网地址:http://smsow.zhe ...

  9. 请不要在JDK7及以上用Json-lib了

    [Json-lib 介绍] Json-lib 是以前 Java 常用的一个 Json 库,最后的版本是 2.4,分别提供了 JDK 1.3 和 1.5 的支持,最后更新时间是 2010年12月14日. ...

  10. .net core2.1 使用 dynamic 类型报错

    在net core2.0项目中使用 dynamic 无法编译通过 异常信息:缺少编译器要求的成员"Microsoft.CSharp.RuntimeBinder.CSharpArgumentI ...