Git diff 比较两个版本文件之间的差异

一:git diff 基本用法

  • git diff 什么参数都不加,默认比较工作区暂存区的差异
  • git diff --cached [...]比较暂存区与最新本地版本库(本地库中最近一次commit的内容)
  • git diff HEAD [...]比较工作区与最新本地版本库。如果HEAD指向的是master分支,那么HEAD还可以换成master
  • git diff commit-id [...]比较工作区与指定commit-id的差异
  • git diff --cached [] [...]比较暂存区与指定commit-id的差异
  • git diff [] []比较两个commit-id之间的差异
  • git diff commit-id1 commit-id2 --stat查看两个提交版本id修改了那些文件.
  • git diff 版本号码1 版本号码2 src 比较两个版本的src 文件夹的差异

二:基本用法示例

例如,比较工作区和暂存区的app/src/main/java/com/qiandai/zhudb/mvp/MediaSortSelectorContract.kt文件的差异

git diff  app/src/main/java/com/qiandai/zhudb/mvp/MediaSortSelectorContract.kt

diff --git a/app/src/main/java/com/qiandai/zhudb/mvp/MediaSortSelectorContract.kt b/app/src/main/java/com/qiandai/zhudb/mvp/MediaSortSelectorContract.kt
index 77c44f3..a045983 100644
--- a/app/src/main/java/com/qiandai/zhudb/mvp/MediaSortSelectorContract.kt
+++ b/app/src/main/java/com/qiandai/zhudb/mvp/MediaSortSelectorContract.kt
@@ -13,6 +13,7 @@ class MediaSortSelectorContract {
         fun initUi()
         fun setListener()
         fun setLocation(location: String)
+        fun goPhoto()
 
     }

diff 制作补丁

git diff还可以制作补丁文件,在其他机器上对应目录下使用 git apply patch 将补丁打上即可

  • git diff > patch
    patch的命名是随意的,不加其他参数时作用是:将我们本仓库工作区的修改拷贝一份到其他机器上使用
    -git diff --cached > patch是将暂存区与版本库的差异做成补丁
  • git diff --HEAD > patch是将工作区与版本库的差异做成补丁
  • git diff filename > patch将单个文件做成一个单独的补丁
  • git apply patch应用补丁。

注意:

  • 应用补丁之前我们可以先检验一下补丁能否应用,git apply --check patch 如果没有任何输出,那么表示可以顺利接受这个补丁。
  • 使用git apply --reject patch将能打的补丁先打上,有冲突的会生成.rej文件,此时可以找到这些文件进行手动打补丁。

你可能感兴趣的:(Git diff 比较两个版本文件之间的差异)