git diff 使用

用于比较两次修改的差异

1.1 比较工作区与暂存区

git diff 不加参数即默认比较工作区与暂存区
    
1.2 比较暂存区与最新本地版本库(本地库中最近一次commit的内容)

git diff --cached [<path>...]

1.3 比较工作区与最新本地版本库

git diff HEAD [<path>...] 如果HEAD指向的是master分支,那么HEAD还可以换成master

1.4 比较工作区与指定commit-id的差异

git diff commit-id [<path>...]

1.5 比较暂存区与指定commit-id的差异

git diff --cached [<commit-id>] [<path>...]

1.6 比较两个commit-id之间的差异

git diff [<commit-id>] [<commit-id>]

1.7 使用git diff打补丁

git diff > patch //patch的命名是随意的,不加其他参数时作用是当我们希望将我们本仓库工作区的修改拷贝一份到其他机器上使用,但是修改的文件比较多,拷贝量比较大,

此时我们可以将修改的代码做成补丁,之后在其他机器上对应目录下使用 git apply patch 将补丁打上即可

git diff --cached > patch //是将我们暂存区与版本库的差异做成补丁

git diff --HEAD > patch //是将工作区与版本库的差异做成补丁

git diff Testfile > patch//将单个文件做成一个单独的补丁

拓展:git apply patch 应用补丁,应用补丁之前我们可以先检验一下补丁能否应用,git apply --check patch 如果没有任何输出,那么表示可以顺利接受这个补丁

另外可以使用git apply --reject patch将能打的补丁先打上,有冲突的会生成.rej文件,此时可以找到这些文件进行手动打补丁

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 查看、添加、提交、删除、找回,重置修改文件 git help # 显示command的help git sho...
    Swiftor阅读 2,152评论 0 2
  • 1. GIT命令 git init在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个re...
    江边一蓑烟阅读 842评论 0 0
  • Git常用命令总结 Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git i...
    猿ape阅读 247评论 0 1
  • git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...
    神刀阅读 3,808评论 0 10
  • 设置用户名邮箱 生成密钥对 看一下有没有id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pu...
    8546ed36e321阅读 288评论 0 1