Das Ändern eines Zeichens in einer Datei führt dazu, dass MSysGit denkt, dass sich die gesamte Datei geändert hat

Ich habe ein Git-Repository mit C # -Code, und ich laufeMSysGit unter Windows.

core.autocrlf ist eingeschaltet und ich benutze die.gitattributes vondiese Frageund ich "renormierte" mein Repo, wie am Ende vondieser Github-Führer.

Jetzt füretwas des.cs Dateien in meinem Repository, wenn ich auch nur ein Zeichen ändere,MSysGit denkt die ganze datei hat sich geändert.

Ich habe das Repository frisch geklont. Ich habe versucht, die Datei zuerst in Visual Studio zu bearbeiten, aber dann habe ich versucht, sie in zu öffnenSciTE Das zeigt mir Zeilenende- und Tabulatorzeichen und ich vertraue darauf, dass es nichts Seltsames an der Datei macht (wie das Ändern der Kodierung).

Also klone ich das Repository neu:

$ git clone git clone [email protected]:my-repo.v2.git
$ cd my-repo/

Ich überprüfe das Repository und die Datei:

$ git status
# On branch master
nothing to commit (working directory clean)
$ git diff path/to/myfile.cs
$

Ich öffne die Datei in SciTE (beachte, dass die Zeilenenden sindCRLF und es gibt keine tabs):

using System;
using System.Collections.Generic;
...

und ändern Sie ein Zeichen (und beachten Sie, dassCRLF und keine tabs sind noch wahr):

using System;
!using System.Collections.Generic;
...

und jetzt denkt git, alles hat sich geändert:

$ git diff path/to/myfile.cs
diff --git a/path/to/myfile.cs b/Dpath/to/myfile.cs
--- a/path/to/myfile.cs
+++ b/path/to/myfile.cs
@@ -1,116 +1,116 @@
-<U+FEFF>using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Microsoft.Practices.EnterpriseLibrary.Data;
-using DataModel.Models;
-using DataModel.Mappers.Interfaces;
-using System.Data.Common;
-using System.Data;
...

Ein normales Diff-Programm glaubt nicht, dass die beiden Dateien so unterschiedlich sind, undgit diff Unter Unix denken sie nicht, dass sie zu unterschiedlich sind, abermsysgit tut.

Ist das schon mal jemandem begegnet oder hat jemand eine Idee?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage