zakończenia linii git - nie można ukryć, zresetować, a teraz nie można bazować na błędnych zakończeniach linii

Mam repo Dodałemgitattributes do tego i pracował nad tym dobrze. Synchronizuję go za pomocą skrzynki odbiorczej z innym komputerem. Kiedy otworzyłem go na innym komputerze, kilka plikównagle się pojawił na obszarze niestacjonarnym jako całkowite różnice (cały plik jest ogromną różnicą, co oznacza, że ​​zakończenia linii różnią się) - moje zakończenia półek są w zasadzie.* text=auto i pracuję nad oknami. Próbowałem ukryć zmiany, zresetować gałąź itp. W końcu zdecydowałem się zatwierdzić pliki, a następnie dokonałem innych zatwierdzeń, które chciałem zmienić (i squash) przed zatwierdzeniem zakończeń linii. Kiedy próbuję ponownie licytować, otrzymuję:

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>

Oczywiście skrytka nie działa

Czy to błąd?

Związane z:

Jak naprawić problemy z zakończeniem linii po migracji z SVN do git? (tak, mój jest klon git-svn, ale nie sądzę, żeby to było naprawdę ważne)Nie można odrzucić zmian w Git (tak i chcę wiedziećczemu)git uważa, że ​​pliki się zmieniłyCzy ktoś może mi wyjaśnić, jaką różnicę widzi git diff?

EDYTOWAĆ Nie ma nic wspólnego z maszynami - na tej samej maszynie niektóre (...) operacje po prostu robią te pliki (są na.gitattributes jako tekst) pojawia się w sekcji „zmienione”. Jedynym obejściem, które wydaje się istnieć, jest:

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

UŻYWAJ UWAŻNIE

EDYCJA: hack powyżej przeniesiony do statusu aliasu:

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

AKTUALIZACJA 2015.09.30: Mam repozytorium git w partycji NTFS, której używam z Windows 7 i arch linux w podwójnym środowisku rozruchowym. Gdy zamykam okna i ładuję dwa archiwa (html), pokazuję jako całkowite różnice (diffs kończące linię). Powyższe obejście nie działa - chyba że zastosujesz je kilka razy odświeżając gui pomiędzy ...

Mój.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 pozwoli mi zatwierdzić, zmienić gałęzie itp., ale nie pozwoli mi na ponowne bazowanie - plus te różnice zawsze pojawiają się w gitk / git gui.

2018/12/14 przeniesiony do mac i moje obejście nie działa już. Wysłałem wiadomość na listę dyskusyjną git:https://marc.info/?l=git&m=154482149623324&w=2

Miejmy nadzieję, że zwróci na to uwagę

$ git --version
git version 2.19.2

questionAnswers(5)

yourAnswerToTheQuestion