【git体验】git原理及基础

原理:分布式版本控制系统像 Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本

的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,

事后都可以用任何一个镜 像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的

完整备份。

更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个

项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的协作流程,比如层次模型式

的工作流,而这在以前的集中式系统中是无法实现的。

2 快速度

2 简单

2 对非线性 并发(允许上千个并行开发的分支)

2 完全分布式

基础:

1.非差异比较,直接记录快照

Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。

其他版本控制器工作,把修改的文件,及其修改的内容都保存下来了。

其他系统图

Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型

的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个

指向这次快照 的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作

一链接。

Git 保存每次更新时的文件快照

2.操作都是本地执行

在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。修改添加完成之后,保存到

本地缓存区,Git 在本地磁盘上就保存着所有当前项目的历史更新,要查看历史的版本也很容易,不需

要联网,只有当你要把本地缓存区数据push到服务器上时候才需要联网。

但是其他的版本控制不能做到离开网络,比如使用cvs,你可以本地修改添加,但是需要比对

历史版本或者查看谁修改了版本,都需要联网支持,有时候访问很慢的。

3.保证数据的完整性

保存到git的数据都需要进行验证和计算,并将此结果作为数据的唯一标识和索引。即,修改目录

或者内容之后,git是完全可以知道的。Git 使用 SHA-1 算法计算数据的校验和。

4.git数据的3中状态

已修改(modified):在工作环境中,增删改后保存到工作区域。

已暂存(staged):把工作区间的代码提交到本地缓存区,但是还没提交到服务器主干上。

已提交(committed):同步到服务器上,需要联网。

【git体验】git原理及基础,布布扣,bubuko.com

时间: 2024-10-05 23:56:33

【git体验】git原理及基础的相关文章

【git体验】git基础-3目录之间关系

1.git目录和工作目录 Git目录并不是Bare repo,而是本地的代码库,即用git init命令在根目录创建的".git"目录(类似SVN的".svn"目录), 这个目录就是git实现分布式代码管理的关鍵了. 工作目录就是.git的上級目录,即你的项目源码和".git"目录放在同一級目录下. 2.初始化建立本地仓库 执行git init会产生一个.git文件. 初始化之后,最好做好一些准备工作,比如然git忽略一些文件,不让git提交本地

[干货分享]git的简单理解及基础操作命令

前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制>这本书(偏理论,内容完善,很不错),针对所学内容建了git仓库测试,且写了不少git操作命令的笔记,做个分享,有错误的地方各位大大也给提出,好做修改~ Git是一款免费.开源的.用Linux内核开发的分布式版本控制系统. git和svn有什么区别呢? git采用分布式版本库管理,而svn采用集中式版本库管理. 集中式版本库管理需要有一台存放版本库的服务器,

理解git常用命令原理

git不同于类似SVN这种版本管理系统,虽然熟悉常用的操作就可以满足大部分需求,但为了在遇到麻烦时不至于靠蛮力去尝试,了解git的原理还是很有必要. 文件 通过git管理的文件版本信息全部存放在根目录.git下,稍微看下: $ ls .git COMMIT_EDITMSG HEAD branches description index logs packed-refs FETCH_HEAD ORIG_HEAD config hooks info objects refs git除了提供给我们平时

Git 使用及原理 总结

1.  $git diff origin/master master (show me the changes between the remote master branch and my master branch). 需要注意的是,remotes/origin/master和origin/master的指向是相同的 2.  $git diff origin/master remotes/origin/master 3.  $git push origin master origin指定了你

GIT的工作原理和基本命令

1.GIT的工作原理 工作区:我们写代码的地方. 暂存区:临时存储用的. 历史区:生成历史版本的地方. 提交流程:工作区->暂存区->历史区 图示: 2.GIT的全局配置 3.创建仓库完成版本控制 原文地址:https://www.cnblogs.com/wordblog/p/12083657.html

git体验

(1)git初始化配置#配置用户名git config --global user.name "azcode"#配置邮箱git config --global user.email "[email protected]"#配置gui编码git config --global gui.encoding utf-8#配置status编码git config --global core.quotepath off#windows配置git config --global

Git初体验——git项目开发流程

众所周知,Git是一款版本控制软件,之前总是习惯把每次修改后的代码打包并且标注好时间等信息加以区分,使用git之后就完全不需要这么做了. 1.安装git: 官网下载安装即可,没什么复杂的步骤 2.新建仓库 打开指定目录或者新建文件夹 cd xxxxx  打开指定文件夹 mkdir xxxxx 创建目录 pwd 显示当前所在工作路径的绝对目录 $ mkdir secgit $ cd secgit $ pwd 显示:/Users/sybil/secgit git init $ git init In

GitHub&amp;Git的使用/入门/零基础项

GitHub 一.目的 借助 github 托管项目代码----放到仓库中(Repository) 二.基本概念 仓库(Repository)仓库用来存放代码,每个项目对应一个仓库,多个开源项目则有多个仓库 关注(Watch)看到开源项目感觉不错,点击Watch,那么以后该项目有任何更新,自己都会第一时间收到关于这个项目的通知提醒 收藏(Star)收藏项目,方便下次查看 复制克隆项目(Fork)Fork的项目是独立存在的 发起请求(Pull Request) 事务卡片(Issue)你的一个开源项

Git 教程 - Git 基本用法

Git 是当前最流行的版本控制程序之一,文本包含了 Git 的一些基本用法 创建 git 仓库 初始化 git 仓库 mkdir project  # 创建项目目录 cd project  # 进入到项目目录 git init  # 初始化 git 仓库.此命令会在当前目录新建一个 .git 目录,用于存储 git 仓库的相关信息 初始化提交 touch README git add .  # 将当前目录添加到 git 仓库中, 使用 git add -A 则是添加所有改动的文档 git com