形势:
我在Windows 7上安装了Git 1.9.5.github.0,目前在每个或三个区域(存储库、暂存索引和工作目录)都有一个文件的版本。该文件的所有三个版本都是不同的,因为每个版本的文本都比旧版本多。
问题:
当我输入命令git、git缓存的first_file.txt或git时,响应显示它检测到了差异,但没有显示这些差异。-(见下文代码)
Z:\myFirstGit [master +0 ~1 -0]> git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: first_file.txt
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: first_file.txt
Z:\myFirstGit [master +0 ~1 -0 | +0 ~1 -0]> git diff
diff --git a/first_file.txt b/first_file.txt
index 2b6f7c0..0090cbf 100644
Binary files a/first_file.txt and b/first_file.txt differ
Z:\myFirstGit [master +0 ~1 -0 | +0 ~1 -0]> git diff head
diff --git a/first_file.txt b/first_file.txt
index e1a914a..0090cbf 100644
Binary files a/first_file.txt and b/first_file.txt differ
Z:\myFirstGit [master +0 ~1 -0 | +0 ~1 -0]> git diff --cached first_file.txt
diff --git a/first_file.txt b/first_file.txt
index e1a914a..2b6f7c0 100644
Binary files a/first_file.txt and b/first_file.txt differ
我以为会有这样的事情:
> git diff
diff --git a/first_file.txt b/first_file.txt
index e1a914a..0090cbf 100644
--- a/first_file.txt
+++ b/first_file.txt
@@ -1 +1,2 @@
This is the first_file test.
+One more line.
问题:
为什么我得到响应“二进制文件a/first_file.txt b/first_file.txt异”而不是显式显示差异?
发布于 2015-04-23 16:28:26
您的文件当然包含数据,这使得Git将该文件视为二进制文件。因此,它不能显示不同之处。
您可以通过以下方式强制Git将您的文件视为diff操作的文本:
first_file.txt diff
在.gitattributes
文件中。请参阅这个类似的问题和.gitattribute的文档。
发布于 2015-04-23 16:19:28
这通常发生在文件的模式改变时。
您可以在这段中看到实际的差异:
100644
--- a/first_file.txt
+++ b/first_file.txt
这意味着文件的模式已更改为644
。(见文件模式)
发布于 2015-04-23 18:23:44
首先,我要感谢Frodon提供了一个链接,使我找到了解决我的问题。
溶液
问题在于文件的编码。最初,我在记事本中编辑了所有或我的文本文件。从Frodon提供的链接中,我找到了一个帖子,用户在那里使用Notepadd++来查找正在使用的编码并对其进行更改。
git add first_file.txt
,最后是git commit first_file.txt -m 'Changed encoding'
。git diff
后显示的差异一样。https://stackoverflow.com/questions/29829068
复制相似问题