diff git 代码实现_Git比对文件之间的差异
Git功能众多,其中一个重要功能是可以比对文件之间的差异。
举一个常见的例子,如果代码被恶意挂码,如果被挂码文件较大,想找到挂码的地方可能要费一点周折,利用Git的比对功能,则可以非常轻松的找出文件被挂码的位置。git diff命令可实现我们的需求。
一.比较暂存区与工作区之间的差异:
暂存区两个文件的内容如下:[HTML] 纯文本查看 复制代码蚂蚁部落一
以上是readme.txt文件内容。[HTML] 纯文本查看 复制代码antzone
以上是antzone.txt文件内容。
现在工作区对这两个文件分别增加了一行,比对代码如下:[Shell] 纯文本查看 复制代码$ git diff
代码运行效果截图如下:
默认状态下,就是比较暂存区与工作区之间的差别。
关于比对的格式可以参阅git diff 输出格式详解一章节。比对指定文件之间的差异,代码如下:[Shell] 纯文本查看 复制代码$ git diff readme.txt
上面代码仅仅比对暂存区和工作区中readme.txt文件的差异,代码运行效果截图如下:
二.比对指定commit与工作区的文件:
比对分支文件与工作区文件的差异,其实与比对commit提交中的文件与工作区文件差异是一回事,因为分支就是指向某个commit提交的。首先看一下当前提交历史记录,代码如下:[Shell] 纯文本查看 复制代码$ git log --oneline
代码运行效果截图如下:
下面查看一下最后一次提交与工作区文件之间的差异,代码实例如下:[Shell] 纯文本查看 复制代码$ git diff f2303a6 readme.txt
以上代码可以比对f2303a6提交中指定文件与工作区对应文件的差异。
代码运行效果截图如下:
三.比对暂存区与指定提交差异:
前面都是与工作区进行比对,下面介绍一下指定commit提交与暂存区的比对。
代码实例如下:[Shell] 纯文本查看 复制代码$ git diff --cached readme.txt
默认是比对暂存区和最新提交的指定文件。
代码运行效果截图如下:
当然我们可以比对指定提交与暂存区文件差异,代码实例如下:[Shell] 纯文本查看 复制代码$ git diff --cached f2303a6 readme.txt
以上代码可以比对f2303a6提交下readme.txt文件与暂存区下对应文件的差异。
diff git 代码实现_Git比对文件之间的差异相关推荐
- diff git 代码实现_Git 自救指南:这些坑你都跳得出吗?
每天都会写架构师文章,Java技术文章天天更新,感兴趣的点个关注再走呗! Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式. 但是一分耕 ...
- diff git 代码实现_Git diff 算法
在Git中,有四种diff算法,即Myers,Minimal,Patience和Histogram.默认Myers.Minimal是Myers的改进,Histogram是Patience的改进.Mye ...
- diff git 指定时间_Git diff 代码比较的高级技巧
Git diff 代码比较的高级技巧 Git是使用branch来管理不同的功能点开发的,那么我们怎样能比较不同branch的不同呢? 使用 git diff branch1 branch2 , 就可 ...
- diff git 指定时间_Git 自救指南
Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式.但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本.即使在各种 G ...
- git hook分支_Git hook(钩子文件)机制
githooks(5) NAME githooks - Hooks(钩子) used by git SYNOPSIS $GIT_DIR/hooks/* 简介 Hooks(钩子),是一些存放于$GIT_ ...
- git diff Git查看版本改动
git diff git diff命令用于显示提交和工作树等之间的更改.此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容. 描述 在工作树和索引或树之间 ...
- 30天精通Git——第 09 天:比对文件与版本差异
使用任何版本控制软件的过程中,经常会需要查看历史记录与比对版本之间的差异.而在使用 Git 的时候要如何进行比对,将是本文重点. 准备工作目录 我们通过以下指令快速建立一个拥有两个文件与两个版本变更记 ...
- diff git 指定时间_【GIT】从指定分支两个Tag中获取差异文件,进行代码的增量更新...
介绍 随着DevOps兴起,在做CD代码上线交付时候,代码全量更新是很费时间的.下面代码就可以帮助我们从指定分支两个Tag中获取差异文件,进行代码的增量更新. 环境 Jenkins Git代码管理 获 ...
- 【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )
文章目录 一.添加暂存文件 git add 二.提交文件至版本库 git commit 三.查看版本库状态 git status 四.查询文件修改 git diff 一.添加暂存文件 git add ...
- git 查看修改明细_git查看某个文件的修改历史
有时候在比对代码时,看到某些改动,但不清楚这个改动的作者和原因,也不知道对应的BUG号,也就是说无从查到这些改动的具体原因了- [注]:某个文件的改动是有限次的,而且每次代码修改的提交都会有commi ...
最新文章
- java swf转pdf_doc转pdf和pdf转swf
- 多通道图像的通道分享和合成函数-split、merge
- 逆袭“潮牌”后,李宁离安踏还有多远?
- 单片机学习--3D动画演示单片机工作原理
- 自动躲避障碍物,微型蜂鸟机器人靠AI算法飞行
- 【转载保存】lucene3.0可以对docId、docField、queryParser设置Boost值来影响排序结果
- 曝iPhone 12 Pro耗电异常,没开启任何应用电量也急剧下降
- php微信二次分享出错,解决微信二次分享bug
- java软件开发工程师的简历
- 零基础Matlab Note9--离散数据绘图set(gca, )
- 人工智能基础入门清单(计算机视觉、强化学习方向/领域)
- 7-2 排座位 (25 分)
- 实现登录注册页面详细(Servlet+jsp+java)
- WPF 触发器Triggers
- 「鸡尾酒排序」不会?每天一遍,排序再见【超详细】
- word中输入 千分之一 万分之一 符号
- 清华大学公开课线性代数2——第9讲:马尔科夫矩阵和正矩阵
- 滑动平均值滤波的VERILOG实现
- Qt实现中国象棋:(七)悔棋
- 大数据架构师从入门到精通