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. android等待对话框

    等待对话框,这里有两种方式来实现: ProgressDialog方式 progressDialog初始化 private void initProgressDialog() { progressDia ...

  2. 前端——CSS

    CSS CSS是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化. 存在方式有三种:元素内联.页面嵌入和外部导入,比较三种方式的优缺点. 语法:style = ...

  3. SQLserver 获取当前时间

    1. 获取当前日期 select GETDATE() 格式化: select CONVERT(varchar,GETDATE(),120) --2017-05-12 16:33:10 2. 获取当前年 ...

  4. tps 和 qps的区别

    QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. TPS:是Transactions ...

  5. lower_bound( )和upper_bound( )的基本用法

    lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end.通过返回的地址减去起始地址 ...

  6. 使用.Net Core Mvc +SqlSugar +Autofac+AutoMapper+....

    开源地址:https://github.com/AjuPrince/Aju.Carefree 目前用到了 SqlSugar.Dapper.Autofac.AutoMapper.Swagger.Redi ...

  7. [转帖]Windows7/2008中批量删除隧道适配器的方法

    https://www.jb51.net/os/windows/479838.html 客户现场的硬件信息总是发生变化 这里查找一下资料 尝试一下. 1.在网卡属性的“网络”中,将“Internet协 ...

  8. 微信小程序爬坑

    1.app.json配置信息是怎样的? { "pages":[ "pages/页面1/页面1", "pages/页面2/页面2", ], & ...

  9. xml 解析参考文档

    https://www.cnblogs.com/a1656344531/archive/2012/11/28/2792863.html

  10. Flask 构建微电影视频网站(六)

    会员模块实现 会员注册 class RegistForm(FlaskForm): name = StringField( label="昵称", validators=[ Data ...