比较工作区、暂存区和HEAD之间所含文件的差异

比较工作区、暂存区和HEAD之间所含文件的差异

十月 21, 2019

比较工作区、暂存区和HEAD之间所含文件的差异

比较暂存区和HEAD所含文件的差异

  • git diff —cached
$ vi abc #修改abc文件内容
$ git add abc #将abc文件添加至暂存区
$ git diff --cached #使用该命令查看暂存区和HEAD所含文件的差别,可以用来检查修改是否是正确的
diff --git a/abc b/abc
index 3be8c83..b61830f 100644
--- a/abc
+++ b/abc
@@ -1,5 +1 @@
-<<<<<<< HEAD
hello,world!
-=======
-hello,world
->>>>>>> ea0c484... Add hello world in file

比较工作区和暂存区所含文件的差异

  • git diff
  • git diff — [filename1,filename2,…]
$ vi a #修改a文件
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified: a

no changes added to commit (use "git add" and/or "git commit -a")
$ git diff #查看差异,可以看到a文件的差异
diff --git a/a b/a
index 64fa4ac..6780600 100644
--- a/a
+++ b/a
@@ -1 +1 @@
-sssssssiaaaiiiaaaaaa
+Hello,I'm a.
$ vi commit1 #修改commit1文件
$ git diff #可以查看到所有修改文件的差异
diff --git a/a b/a
index 64fa4ac..6780600 100644
--- a/a
+++ b/a
@@ -1 +1 @@
-sssssssiaaaiiiaaaaaa
+Hello,I'm a.
diff --git a/commit1 b/commit1
index e69de29..33f9a70 100644
--- a/commit1
+++ b/commit1
@@ -0,0 +1 @@
+Hello,I'm commit1.
$ git diff -- a #这里可以使用“--“过滤想要看到的文件名 只看a文件的差异
diff --git a/a b/a
index 64fa4ac..6780600 100644
--- a/a
+++ b/a
@@ -1 +1 @@
-sssssssiaaaiiiaaaaaa
+Hello,I'm a.
$ git diff -- a commit1 #还可以过滤多个文件名 只看a和commit1文件的差异
diff --git a/a b/a
index 64fa4ac..6780600 100644
--- a/a
+++ b/a
@@ -1 +1 @@
-sssssssiaaaiiiaaaaaa
+Hello,I'm a.
diff --git a/commit1 b/commit1
index e69de29..33f9a70 100644
--- a/commit1
+++ b/commit1
@@ -0,0 +1 @@
+Hello,I'm commit1.