准备工作:

创建一个新的项目,并初始化git

创建两个文件,并写入对应内容(utf-8无bom格式)

执行git add 命令将两个文件添加到暂存区,执行commit命令提交到仓库并生产快照

修改工作区文件内容

比较暂存区与工作区的目录:git diff

以text1为例

diff --git a/text1.txt b/text1.txt:代表对比的是暂存区和工作区的text1.txt文件
index 6c1b360..fae445e 100644
--- a/text1.txt:旧文件(-代表旧文件),指的是存在暂存区的文件(text1.txt)
+++ b/text1.txt:新文件(+代表新文件),指的是存在工作区的文件(text1.txt)
@@ -1 +1,2 @@
-text1 write 1:旧文件(暂存区)里面的内容
\ No newline at end of file:说文件内容不是以换行符结束的
+text1 write 1:新文件(工作区)的内容
+text1 write 2:新文件(工作区)的内容
\ No newline at end of file

比较两个历史快照:git diff 快照ID1 快照ID2

git commit -am:一次性提交到暂存区和仓库

执行git log查看快照和ID

执行对比:

比较当前工作目录和git仓库某个快照:git diff 快照ID

由于全部内容都提交了,所以修改一下文件再对比

比较当前工作区与仓库的内容:git diff HEAD

比较暂存区与git仓库快照:git diff --cached [快照ID],命令不加快照ID时默认比较最新的仓库里的文件

把刚刚修改的text1.txt提交到暂存区

指定快照ID

各版本之间对比的图

Git使用六:版本对比的更多相关文章

  1. git --版本对比

    比较暂存区域和工作目录  -git diff 分别拷贝暂存区和工作目录的文件到a和b文件夹 ---   //表示旧文件  暂存区的 +++  //表示新文件   工作目录的 F 一页一页往下移 B 一 ...

  2. git版本对比

    1.git diff版本比对 (未添加到暂存区间之前的区别对比) 未进行修改,则显示为空 进行文件修改,再执行git diff 当执行git add .  之后,再次git diff则为空 缓存和提交 ...

  3. Git(二)使用git管理文件版本(TortoiseGit )

    一.创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都 ...

  4. 使用git管理文件版本

    创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...

  5. 【Git学习笔记】初始化Git仓库和版本回退

    学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又 ...

  6. GIT(分布式版本控制系统)

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.[1] Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本 ...

  7. 受限玻尔兹曼机(RBM)学习笔记(六)对比散度算法

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  8. git和其他版本控制系统的区别

    所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动.Git和其他版本系统的主要区别 ...

  9. 学习笔记--Git安装 创建版本库 图文详解

    一.Git下载 在Windows上安装git,一般为msysgit,官网地址:http://git-scm.com/ 我下载的是Git-1.9.2-preview20140411.exe 二.Git安 ...

  10. Git教程--Git安装和版本库的创建

    Git的诞生 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大是靠全世界热 ...

随机推荐

  1. 6-4 The present perfect

    1 Summary The present perfect is an important verb tense in English. It is used to talk about things ...

  2. Hadoop Mapreduce分区、分组、二次排序

    1.MapReduce中数据流动   (1)最简单的过程:  map - reduce   (2)定制了partitioner以将map的结果送往指定reducer的过程: map - partiti ...

  3. RecyclerView的点击、滑动、拖动事件

    效果图: 在gradle里导包   implementation 'com.android.support:recyclerview-v7:28.0.0' activity_main <?xml ...

  4. 自定义组件的properties和data

    // components/epsoide/index.js Component({ /** * 组件的属性列表 */ properties: { index: { type: Number //va ...

  5. Unity3d中如何查找一个脚本被挂在那些预设上面?

    用一个脚本函数可以获取到选择的脚本文件被哪些预设和场景引用 [MenuItem("Assets/Tool/GetReference")] static void GetRefere ...

  6. 全基因组关联分析(GWAS)扫不出信号怎么办(文献解读)

    假如你的GWAS结果出现如下图的时候,怎么办呢?GWAS没有如预期般的扫出完美的显著信号,也就没法继续发挥后续研究的套路了. 最近,nature发表了一篇文献“Common genetic varia ...

  7. busybox编译

    sync.c:(.text.sync_main+0x7c): undefined reference to `syncfs'Coreutils—>sync选项去掉 nsenter.c:(.tex ...

  8. 使用vlc打开usb摄像头

    打开vlc播放器 可以打开网络串流的方式打开摄像头,但只支持第一个摄像头 这一串地址拼凑方法看下面,下面可以选择摄像头 为什么只支持第一个摄像头可以参考下一篇使用Vlc.DotNet打开摄像头并截图 ...

  9. jenkins持续集成原理

    转载: 原文地址:http://www.2cto.com/kf/201609/544550.html 持续集成 开发中,我们经常遇到一些奇怪问题,比如本地可以编译成功的代码但是同事们更新代码后编译出错 ...

  10. [Android] Android RxJava2+Retrofit2+OkHttp3 的使用(一) --基础篇 Retrofit2 的使用

    本文是 Android RxJava2+Retrofit2+OkHttp3 的使用(一) --基础篇 Retrofit2 的使用 本文的目标是用 Retrofit写一个网络请求: 本文以从获取天气预报 ...