首页 > 其他分享 >git-diff

git-diff

时间:2023-07-13 15:11:48浏览次数:33  
标签:文件 git 查看 -- commit diff

1.diff说明

用于比较两次修改的差异

1-1.参数

参数 描述
–cached 显示暂存区(已 add 但未 commit 文件)和最后一次 commit (HEAD)之间差异。
–staged 同 --cached。
–stat 查看简单的 diff 比较结果。

1-2.改动范围说明

@@ -l,s +l,s @@:其中 l 是起始行号,s 是更改 (c)hunk 应用于每个相应文件的行数。 - 表示原始文件,+ 表示新(修改)文件。请注意,它不仅显示受影响的行,还显示上下文行。

-1,5在原始文件中(用-表示)。它表明第一行是开始和 5 个受影响的/上下文行

+1,9 在新的(修改过的)文件中(由 + 表示),第一行也是开始和 9 个受影响的/上下文行。

git diff

diff --git a/xxx.txt b/xxx.txt
index 74d9274..324b9a6 100644
--- a/xxx.txt
+++ b/xxx.txt
@@ -1,5 +1,9 @@
....

1-3.查看diff概要

 git diff --stat
 
 a3.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

2.使用

2-1.工作区和索引区对比

文件未被git add添加时候

# 查看所有改动在工作区和索引区对比
git diff

# 查看某个文件在工作区和索引区对比
git diff <file_name> 或者 git diff -- <file_name>

# 查看多个文件在工作区和索引区对比
git diff <file_name_1> <file_name_2> 或者 git diff -- <file_name_1> <file_name_2>

2-2.工作区和版本库(commit)对比

文件未被git add添加时候

# 查看所有改动在工作区和指定版本库中的比对
git diff <commit>

# 查看某个文件在工作区和指定版本库中的比对
git diff <commit> -- <file_name>

2-3.暂存区和版本库(commit)对比

文件被git add但未被git commit

# 查看暂存区和上一次提交的最新版本(HEAD)之间的所有文件差异
git diff --cached

# 查看暂存区和指定版本之间的所有文件差异
git diff --cached <commit>

# 查看暂存区和 HEAD 之间的指定文件差异
git diff --cached -- <file_name>

# 查看暂存区和指定版本之间的指定文件差异
git diff --cached <commit> -- <file_name>

2-4.版本库(commit)和版本库(commit)对比

# 查看两个版本之间的差异
git diff <commit_1> <commit_2>

# 查看两个版本之间的指定文件之间的差异
git diff <commit_1> <commit_2> -- <file_name_1> <file_name_2>

# 查看两个版本之间的改动的文件列表
git diff <commit_1> <commit_2> --stat

# 查看两个版本之间的文件夹src的差异
git diff <commit_1> <commit_2> src

3.git diff 没有点、两个点和三个点的区别

3-1.区别

git diff 的参数不是标识范围,就是标识两个commit 之间的差异,跟范围没有关系

和git log 相比,git diff 是两个commit点的比较,不涉及范围,没有点和两个点代表直接比较,三个点代表从merge点开始比较

  • git diff foo bar: 比较 foo 和 bar两个commit点的差别
  • git diff foo..bar:比较 foo 和 bar两个commit点的差别(等同于上面)
  • git diff foo...bar: 比较的foo和bar merge base那个点(最近的共同的parent)和 bar

git-diff

标签:文件,git,查看,--,commit,diff
From: https://www.cnblogs.com/lxd670/p/17543045.html

相关文章

  • git-tag
    1.tag简介1-1.说明tag就是对某次commit的一个标识,相当于起了一个别名创建的标签会在.git/refs/tags下1-1-1.查看tags目录ls.git/refs/tagsv1.0.0v2.0.01-1-2.查看tags下的标签文件cat.git/refs/tags/v1.0.0f3d2540bdaf36e6b0092ccd0d3aa908c19f2f7081-2.ta......
  • git-worktree
    1.说明git-worktreegitworktree非常适合大型项目又需要维护多个分支,想要避免来回切换的情况优点gitworktree可以快速进行并行开发,同一个项目多个分支同时并行演进gitworktree的提交可以在同一个项目中共享gitworktree和单独clone项目相比,节省了硬盘空间,......
  • Git 基础入门
    Git基础入门一、安装与配置1.下载安装https://git-scm.com/download/ 2.使用入口win:右键菜单—gitbashmac:终端窗口 3.基础配置a.首次使用添加身份说明,使用以下两个命令:$gitconfig--globaluser.name"你的昵称"$gitconfig--globaluser.email邮箱 b.......
  • 常用gitignore
    #file.build.cmake-build-debug.idea#Prerequisites*.d#CompiledObjectfiles*.slo*.lo*.o*.obj#PrecompiledHeaders*.gch*.pch#CompiledDynamiclibraries*.so*.dylib*.dll#Fortranmodulefiles*.mod*.smod#CompiledStaticlibraries*.lai*.la*.a*.lib#......
  • 如何实现r语言做logit回归的具体操作步骤
    R语言做Logit回归Logit回归是一种常用的统计分析方法,可以用来研究二元分类问题。它可以对因变量的概率进行建模,并利用自变量的线性组合来预测分类结果。本文将介绍如何使用R语言进行Logit回归分析,并给出相应的代码示例。数据准备首先,我们需要准备用于Logit回归分析的数据。考虑......
  • Git备忘录
    环境:Windows安装Git下载地址:https://git-scm.com/download配置Git安装完成后需要配置,开始菜单打开“GitCMD”或右键打开“OpenGitBashhere”。配置用户名和提交用到的邮箱#配置用户名gitconfig--globaluser.name"xxx"#配置邮箱gitconfig--globaluser.email......
  • Git小白到老鸟的进阶之路
    小白:师兄,师兄,上次你教我的操作,我傻乎乎的执行了一遍,可是那个Git究竟是什么那?师兄:小白莫慌,Git就是一种版本控制,小白,你平时写论文,是不是也按日期保存成许多的版本那。小白:对呀,对呀。师兄:那开发项目的时候,每个人开发的部分都不一样,需要记录多个版本,这个就是我们伟大的Git做得。小白:师......
  • 常用git指令
    常用git指令一.gitpull相关将远程指定分支拉取到本地指定分支上gitpullorigin<远程分支名>:<本地分支名>将远程分支拉倒当前分支gitpullorigin<远程分支名>将与本地当前分支名相同的远程分支拉到本地当前分支(需要先关联远程分支)gitpull......
  • TechSmith Snagit mac最强大的屏幕截图软件
    TechSmithSnagitMac版是一款强大的屏幕截图软件,适用于Mac操作系统。它提供了多种截图工具和编辑功能,可以帮助用户轻松地创建高质量的截图和录屏视频。→→↓↓载TechSmithSnagitmac 以下是TechSmithSnagit的一些主要特点:多种截图方式:TechSmithSnagit支持多种截图方式......
  • diff
    diff比较给定的两个文件的不同补充说明diff命令在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件......