Git(6) -- diff文件差异


git diff 命令用来显示已写入暂存区和已经被修改但尚未写入暂存区文件对区别。

Git(6) -- diff文件差异

尚未缓存的改动 dit diff [file]

我们修改一个文件,不使用git add提交修改。

On branch dev
Your branch is ahead of 'origin/dev' by 1 commit.
  (use "git push" to publish your local commits)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .idea/

no changes added to commit (use "git add" and/or "git commit -a")

此时我们使用git diff命令查看。

diff --git a/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java b/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
index 1ed1709..3d4e933 100644
--- a/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
+++ b/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
@@ -13,7 +13,7 @@ import java.sql.SQLException;

 /**
  * @Author Wangql
- * @Description 3
+ * @Description 4
:

查看已缓存的改动: git diff –cached [file]

接上文,此时我们使用git diff --cached查看变更情况却发现没有任何改变。

D:\IdeaProjects\Springboot2>git diff --cached

D:\IdeaProjects\Springboot2>

因为git diff –cached比较的是暂存区和上一次提交(commit)的差异。

我们使用git add将修改的文件加入到暂存区,然后再执行git diff --cached命令。

D:\IdeaProjects\Springboot2>git status
On branch dev
Your branch is ahead of 'origin/dev' by 1 commit.
  (use "git push" to publish your local commits)

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java

D:\IdeaProjects\Springboot2>git diff --cached
diff --git a/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java b/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
index 1ed1709..3d4e933 100644
--- a/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
+++ b/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
@@ -13,7 +13,7 @@ import java.sql.SQLException;

 /**
  * @Author Wangql
- * @Description 3
+ * @Description 4
:

查看已缓存的与未缓存的所有改动:git diff HEAD

比较的是工作区中的文件与版本库中文件的差异。HEAD指向的是版本库中的当前版本,而file指的是当前工作区中的文件

查看简单的diff结果,可以加上–stat参数

D:\IdeaProjects\Springboot2>git diff HEAD --stat
 .../src/main/java/com/puhuijia/config/DruidDBConfig.java                | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

比较两个历史版本之间的差异git diff SHA1 SHA2

D:\IdeaProjects\Springboot2>git diff 0a8bc8533b8be096431db85a45c24f4ffbc039be c92acaabf353d89bc19b74de2bab3e0bfc98e629
diff --git a/phj-boot-common/.gitignore b/phj-boot-common/.gitignore
new file mode 100644
index 0000000..93ad232
--- /dev/null
+++ b/phj-boot-common/.gitignore
@@ -0,0 +1,93 @@
+/target/
+!.mvn/wrapper/maven-wrapper.jar
+
+### STS ###

D:\IdeaProjects\Springboot2>git diff 0a8bc8533b8be096431db85a45c24f4ffbc039be 82df2f1053e01d4d094c267ced093c34c3d681b1
diff --git a/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java b/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
index 1ed1709..83cfa25 100644
--- a/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
+++ b/phj-service-account/src/main/java/com/puhuijia/config/DruidDBConfig.java
@@ -13,7 +13,7 @@ import java.sql.SQLException;

 /**
  * @Author Wangql
- * @Description 3
+ * @Description 1
:

文章作者: WangQingLei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 WangQingLei !
  目录