git diff命令

如果想要知道变更的具体内容,可以使用git diff命令。它被用来解决两个问题:

  • 哪些变更还没有被暂存?
  • 那些已暂存的变更正待提价?

git diffgit status基础上,显示出了你具体添加和删除了哪些行。

我们现在为main.c加入一行新语句,并提交到暂存区,然后修改这一行保存,但不提交到暂存区

$ git add main.c

查看尚未添加到暂存区的变更

直接输入不带参数的git diff

$ git diff
diff --git a/main.c b/main.c
index 7440538..a865187 100644
--- a/main.c
+++ b/main.c
@@ -1 +1 @@
-Add a new line for main.c
\ No newline at end of file
+Modify the first line of main.c

可以看到详细的信息,main.c中把“Add a new line for main.c”变成“Modify the first line of main.c”的更改还没有暂存

查看进入下一次提交的暂存内容

git diff --staged命令,会将暂存的内容与上一次提交的内容作比较

$ git diff --staged
diff --git a/main.c b/main.c
index e69de29..7440538 100644
--- a/main.c
+++ b/main.c
@@ -0,0 +1 @@
+Add a new line for main.c
\ No newline at end of file

可以看到,最开始向main.c中加入“Add a new line for main.c”这句话的变更正在暂存区中等待进入下一次提交。

注意:git diff只会显示出还没有进入暂存区的变更。如果所有的变更都进入了暂存区,则不会有任何输出

$ git add main.c
$ git diff

查看变更(git diff)的更多相关文章

  1. git diff 的简单使用(比较版本区别)

    假如我们修改viewMail.vue 文件(部分代码) 从 //根据ID获取详情 getById () { let that = this; this.viewMailModal = true; th ...

  2. Git以及github的使用方法(三),git status查看工作区的状态,git diff查看具体修改内容

    我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...

  3. git diff查看修改,出现^M换行问题

    通过命令git diff查看修改,出现^M换行问题,如图: 解决: git config --global core.whitespace cr-at-eol 换行符的问题: 提交时转换为LF,检出时 ...

  4. git 命令 git diff 查看 Git 区域文件的具体改动

    查看 Git 区域文件的具体改动 git diff git status 只能让我们知道文件在 Git 区域内的改动状态,但如果我们想查看某个文件内具体改了什么(也可以理解为在不同 Git 区域中的差 ...

  5. 完整学习git三 查看暂存区目录树 git diff

    1显示暂存区中的目录树 git ls-files git ls-tree git diff 魔法 1工作区与暂存区比较 git diff 2工作区与HEAD比较 git diff HEAD 3暂存区与 ...

  6. 查看本地Git仓库历史修改内容

    查看历史内容 在.git文件 同级目录下,右键 选择 git history 但是红框中的路径无法拷贝.右键红框中的任一文件,有 HighLight this only, Highlight this ...

  7. git学习(五) git diff操作

    git diff操作 git diff用于比较差异: git diff 不加任何参数 用于比较当前工作区跟暂存区的差异 git diff --cached 或者--staged 对比暂存区(git a ...

  8. git diff 生成patch, git apply patch 打补丁方法说明,以及分支管理的简单操作。

    git diff 简易操作说明 先git log 查看commit ID, 记录你想要打的补丁的ID 比如说: git log commit 4ff35d800fa62123a28b7bda2a04e ...

  9. git diff提示filemode发生改变(old mode 100644、new mode 10075)

    今天clone代码,git status显示修改了大量文件,git diff提示filemode变化,如下: diff --git a/Android.mk b/Android.mkold mode ...

随机推荐

  1. Codeception 实战

    Codeception 测试 Php 代码 一.一句话概述 使用 cc 进行单元测试,保证现有代码质量,为以后维护与重构提供支撑. 二.目标 安装配置 cc 编写测试代码,简化开发与最大化稳定性和可维 ...

  2. Storm入门(一)原理介绍

    问题导读:1.hadoop有master与slave,Storm与之对应的节点是什么?2.Storm控制节点上面运行一个后台程序被称之为什么?3.Supervisor的作用是什么?4.Topology ...

  3. jpa使用过程中出现问题记录[持续更新]

    1.自定义JPQL语句,出现Not supported for DML operations 错误. 解决方案:在@Query注解上面加上@Modifying注解. //出现问题的代码 @Query( ...

  4. Mongo C# Driver 聚合使用---深入浅出

    聚合查询结构体系 ​ 我们都知道Mongo中聚合是由$match,$project等聚合项组成,所以在C# Driver中具有两种类型:聚合管道(PipelineDefinition)和聚合管道项(I ...

  5. mysql数据库连接语句一定要加传参的编码格式

    jdbc:mysql://localhost:3306/pachong?useUnicode=true&characterEncoding=UTF-8 不然可能会出现从源代码传出的中文参数到m ...

  6. webpack(一) 配置

    一.entry  & output mode: 'development', // entry: './src/index', // entry: ['./src/index', './src ...

  7. grep -v 反向查找

    grep 是查找含有指定文本行 grep -v 是方向查找,比如 grep -v grep 就是查找 不含有 grep 内容的行,简单来说,就是过滤输入的 grep 命令 Demo: ps -aux ...

  8. MySQL数据库存储引擎

    这里主要介绍最常用的两种存储引擎. 1.InnoDB InnoDB是一个事务型的存储引擎,有行级锁定和外键约束.Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别,关 ...

  9. mapper.xml 的配置

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  10. [ffmpeg] h.264解码所用的主要缓冲区介绍

    在进行h264解码过程中,有两个最重要的结构体,分别为H264Picture.H264SliceContext. H264Picture H264Picture用于维护一帧图像以及与该图像相关的语法元 ...