Git基本概念

集中式版本控制系统:CVS+SVN

先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

  • 每次修改只能联网后向远程提交。
  • 以文件变更列表的方式存储数据,将保存的信息看做是一组基本文件和每个文件随时间变化的差异。如下图:

分布式版本控制系统:Git

分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

  • 大部分命令都可以本地提交。
  • 将数据看做是文件系统的一组快照。即,每次提交的时候,对全部文件做一次快照并保存这个快照的索引。没有改动的文件只保留一个链接指向之前的存储的文件。如下图:

工作区、暂存区、版本库

  • 工作区:是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
  • 暂存区:一个文件,保存工作区中文件的(id、时间戳、长度等信息),一般在Git仓库目录中。有时候也被称作“索引。使用命令git ls-files --stage来查看其内容。
  • 版本库:是Git用来保存项目的元数据和对象数据库的地方。这是Git中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
  • 使用git status [-s]来查看文件的状态。
  • git rm path/to/file将文件从暂存区移除并删除工作目录的文件。
时间: 2024-10-27 04:55:35

Git基本概念的相关文章

GIT基本概念和用法总结【转】

在日常使用GIT过程中,经常会出错,比如无意间丢失了未提交的数据,回退版本时丢失了工作目录,等等.经过思考发现,所有这些错误都是因为对GIT中一些基本的概念模糊而导致,因为对一些基本概念不清晰,导致对GIT每一条命令将会产生的结果不符合预期.下面我就梳理以下我经常碰到的问题相关的基本概念. 1. Working Directory(工作目录) Git的工作目录是保存当前正在工作的文件所在的目录,和working tree是相同的意思.在这个目录中的文件可能会在切换branch时被GIT删除或者替

Git学习系列-Git基本概念

本系列基于Pro Git介绍如何使用Git进行源代码管理,以及后期如何使用Git进行项目管理. 系列初步目录如下: 1. Git基本概念 2. Git分支操作 后续待定. Git的历史就不在这里进行介绍了,网上随处都可以找到,以下是在使用Git的时候的一些基本概念和方法 Git有三种状态,文件可能处于其中之一:已提交(Committed).已修改(modified)和已暂存(staged).已提交表示数据已经安全的保存在本地数据库中.已修改表示已经修改了文件,但还没有保存在数据库中.已暂存表示对

Git 基本概念及使用

Git分布式特性: 集中化的版本控制系统:他们都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新 .如下图所示 分布式版本管理控制系统:分布式版本管理控制系统的客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来.这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复.因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份. Git版本管理和控制系统的存储方式: Git 和

Git基础概念与操作

博文大纲:一.初识Git二.Git的安装配置三.Git工作流程四.Git工作区.暂存区和版本库五.Git基本操作 一.初识Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持. Git与SVN的区别:1)Git是分布式的,SVN不是:

Git 基本概念

版本控制系统 (VCS) 版本控制系统 (VCS) 是软件,帮助软件开发人员携手合作,他们的工作并保持完整的历史. 以下是VCS目标 允许开发人员同步工作. 不要覆盖对方的变化. 维护历史的每一个版本. 以下是常见的VCS 集中式版本控制系统(CVCS) 分散式/分布式版本控制系统(DVCS) 在这个教程,我们将介绍集中分布式的版本控制系统,尤其是Git. Git 属于分布式版本控制系统. 分布式版本控制系统(DVCS) 集中式版本控制系统采用中央服务器上存储的所有文件和实现团队协作.但是CVC

git的概念和常用命令

一.什么是git? 官方定义:git是版本控制工具. 这里的版本其实是每一次发布的代码,git会把每一次提交的代码都保存下来,并给它一个叫做"版本号"的编号.这类似于期刊出版的过程,每一次出版都有它的期号. 二.为什么使用git? git具有备份文件的功能,允许我们找到修改前的文件,可以"反悔" git具有分支机制,像写小说,可以分出几条支线.这样允许我们在开发主程序的同时,开发额外的功能.这样同样使多人开发变得简便,只有每个人开发自己的功能(支线),最后合并(连)

git分支概念与项目中的应用

文档:https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B 分支理解 master分支是项目在创建时候的默认分支,除此之外,它并没有更多的含义. 剩下的 "开发分支","灰度分支", "预发布分支", "需求分支","测试分支" 都是根据项目和需求约定的.它们本质上只是一个分支而已

Git基础概念

本章关于开始学习 Git.这篇文章将从介绍有关版本控制工具的一些背景知识开始,然后讲解如何在系统运行 Git,最后是关于如何设置 Git 开始工作. 通过本章的学习,了解为什么 Git 这么流行,为什么要使用 Git 以及应该如何设置以便使用 Git. 关于版本控制 什么是“版本控制”?为什么要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们对保存着软件源代码的文件作版本控制,但实际上,可以对任何类型的文件进行版本控制. 如果你

git全部使用步骤

今天要讲的内容:项目管理和工具 Git:版本控制系统 Less:动态的css语言,提高编写CSS的效率 Gulp:项目自动构建工具,对html,css,js,image进行压缩,合并等操作. 一.什么是git 1.Git是什么 Git是目前世界上最先进的分布式版本控制系统(没有之一). CSV,SVN. 疑问: 分布式是什么意思? 版本控制是什么东西? 2.为什么需要Git 所以:版本控制可以帮助我们实现两件事情 l  自动记录每次的修改,并且可以方便的切换到任一版本 l  可以完成多人协作开发