Git-Zeilenenden - Kann nicht verstecken, zurücksetzen und jetzt nicht über falsch festgelegte Zeilenenden zurücksetzen

Ich habe ein Repo, das ich hinzugefügt habegitattributes dazu und arbeitete gut daran. Ich synchronisiere es per Dropbox mit einem anderen Computer. Als ich es auf der anderen Maschine öffnete, gab es ein paar Dateienplötzlich auf dem nicht bereitgestellten Bereich als total diffs (alle Dateien sind riesig diff, was bedeutet, dass die Zeilenenden diff sind) - meine crlf-Endungen sind im Grunde genommen.* text=auto und ich arbeite an windows. Ich habe versucht, die Änderungen zu speichern, die Verzweigung zurückzusetzen usw. Schließlich habe ich beschlossen, die Dateien festzuschreiben, und dann einige andere Festschreibungen vorgenommen, die ich neu anordnen (und quetschen) wollte, bevor die Zeilenenden festgeschrieben werden. Beim erneuten Basieren erhalte ich Folgendes:

error: Your local changes to the following files would be overwritten by merge
        # those same files
Please, commit your changes or stash them before you can merge.
Aborting
Could not apply 89b25b81fff1a1e7893319e123aaaca9c4162a95... <commit message>

Natürlich funktioniert Stash nicht

Ist es ein Bug?

Verbunden:

Wie behebe ich Zeilenendeprobleme nach der Migration von SVN zu Git? (Ja, meins ist ein Git-Svn-Klon, aber ich denke nicht, dass es wirklich wichtig ist)Kann nicht scheinen, Änderungen in Git zu verwerfen (Ja, und ich will es wissenWarum)git denkt, dass sich die Dateien geändert habenKann mir jemand erklären, welchen Unterschied git diff hier sieht?

BEARBEITEN Mit Maschinen nichts zu tun - auf derselben Maschine werden bei einigen (...) Operationen nur diese Dateien erstellt (sie befinden sich auf der.gitattributes als Text) erscheinen im Abschnitt "geändert". Die einzige Problemumgehung, die zu existieren scheint, ist:

git rm --cached -r .
git reset --hard

VORSICHTIG VERWENDEN

BEARBEITEN: Hack oben in Alias-Status versetzt:

[alias]
     crlf = !git rm -r . --cached -q && git reset --hard

UPDATE 2015.09.30: Ich habe ein Git-Repo in einer NTFS-Partition, die ich unter Windows 7 und Arch Linux in einer Dual-Boot-Umgebung verwende. Beim Herunterfahren von Windows und beim Booten von Arch werden zwei Dateien (HTML) als Gesamtdifferenzen (Zeilenende-Differenzen) angezeigt. Die obige Problemumgehung funktioniert nicht - es sei denn, Sie wenden sie mehrmals an und aktualisieren die Benutzeroberfläche zwischen ...

Meine.gitattributes:

* text=auto

*.py text diff=python
*.html text
.project text
*.pkl -text

# M$ files
*.bat text eol=crlf

# UNIX files
**/generate_second_post text eol=lf

# git files - have them with LF, as I edit them via the shell (echo etc)
*.gitignore text eol=lf
*.gitattributes text eol=lf

NB: Linux lässt mich festschreiben, Zweige wechseln usw., lässt mich aber nicht zurückschreiben - und diese Unterschiede erscheinen immer in gitk / git gui.

2018/12/14 Auf Mac verschoben und meine Problemumgehung funktioniert nicht mehr. Ich habe eine Nachricht an die Git-Mailingliste gesendet:https://marc.info/?l=git&m=154482149623324&w=2

Hoffen wir, dass dies Aufmerksamkeit erregt

$ git --version
git version 2.19.2

Antworten auf die Frage(5)

Ihre Antwort auf die Frage