您的位置:首页 > 其它

Git diff

2016-03-12 23:05 267 查看
首先来了解Git的三个区域

working directory

staging area

git directory(repository)

如图


我新建了一个git_diff文件,在其中添加了一句话:Add a new sentence.添加(add)并提交(commit)到版本库(repository).

紧接着添加了一句话:Add another sentence. 只进行了添加(add)操作,没有提交

最后添加了一句话:Add the last sentence.没有进行任何操作,我们来看用不同命令进行比较的结果:

andy@andy-PC:~/Projects/Git/Git$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

modified:   git_diff

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:   git_diff

andy@andy-PC:~/Projects/Git/Git$ git diff git_diff
diff --git a/git_diff b/git_diff
index 43ca7ef..d9c2bf0 100644
--- a/git_diff
+++ b/git_diff
@@ -1,3 +1,4 @@
To understand how to use diff in git.
Add a new sentence.
Add a another sentence.
+Add the last sentence.

andy@andy-PC:~/Projects/Git/Git$ git diff --cached git_diff
diff --git a/git_diff b/git_diff
index 38aa546..43ca7ef 100644
--- a/git_diff
+++ b/git_diff
@@ -1,2 +1,3 @@
To understand how to use diff in git.
Add a new sentence.
+Add a another sentence.

andy@andy-PC:~/Projects/Git/Git$ git diff HEAD git_diff
diff --git a/git_diff b/git_diff
index 38aa546..d9c2bf0 100644
--- a/git_diff
+++ b/git_diff
@@ -1,2 +1,4 @@
To understand how to use diff in git.
Add a new sentence.
+Add a another sentence.
+Add the last sentence.


怎么样,是不是一目了然了呢,正如你所看见的:

git diff 比较的是working directory 与 staging area的不同

git diff –cached 比较的是staging area 与 git directory(repository)的不同

git diff HEAD 比较的是working directory 与 git directory(repository) 的不同

(小小白原创,欢迎指正交流,不喜勿喷)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: