.gitattributes funktionieren auf Mac und Windows nicht richtig

Lesezeit: 2 Minuten

Benutzer-Avatar
Masza

In meinem Projekt verwende ich Computer mit unterschiedlichen Betriebssystemen, einer ist ein Mac, der zweite ist mit Windows. Wenn ich git verwende, wird jede Änderung als Änderung des gesamten Dokuments angezeigt. Der Grund ist das unterschiedliche Zeilenende in diesen beiden Betriebssystemen. ich lese das https://help.github.com/articles/dealing-with-line-endings/ und machte ein .gitattributes Datei im Stammordner, aber das Problem besteht weiterhin. Das ist mein .gitattributes Datei:

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.

*.css text
*.html text
*.js text

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

Ich habe keine Ahnung, warum es nicht funktioniert, weil ich vorher viele Konfigurationen dieser Datei ausprobiert habe.

  • Hast du die probiert git config core.autocrlf Möglichkeit? AFAIK wird dies bevorzugt. Hast du ein Problem damit?

    – Melebios

    12. Oktober 2016 um 9:37 Uhr

  • Ja, ich versuche dies auf beiden Computern, aber es funktioniert nicht.

    – MaSza

    12. Oktober 2016 um 9:48 Uhr

Die .gitattributes-Datei sollte beim ersten Commit hinzugefügt werden. Wenn Sie es nach ein paar Commits hinzufügen, müssen Sie alle vorhandenen Dateien explizit normalisieren.

$ rm .git/index     # Remove the index to force Git to
$ git reset         # re-scan the working directory
$ git status        # Show files that will be normalized
$ git add -u
$ git commit -m "Introduce end-of-line normalization"

Sehen https://git-scm.com/docs/gitattributes

Wenn die .gitattributes-Datei nicht mit dem ersten Commit hinzugefügt wurde, sollte Folgendes durchgeführt werden, um Attribute lokal anzuwenden:

  1. Gehen Sie zum Stammverzeichnis des Repositorys

  2. Status überprüfen:

    Git-Status

  3. Wenn es heißt “nichts zu übergeben, Baum sauber arbeiten”, führen Sie Folgendes aus:

    git rm –cached -r .

    git reset –hart

Die Antwort basiert auf https://dev.to/deadlybyte/please-add-gitattributes-to-your-git-repository-1jld

  • Interessant… Nach dem Laufen git add --renormalize .die Dateien mit geändertem EOL wurden aufgelistet von git status, und ich konnte die Änderung festschreiben, aber in Wirklichkeit hatten sie immer noch die ursprüngliche EOL (verifiziert durch Hex-Ansicht). Die Befehle in Pt. 3. wurden benötigt, um die EOLs wirklich auf die in .gitattributes angegebenen Einstellungen zu ändern. Vielen Dank!

    – Kol

    9. Februar um 8:35 Uhr


1017940cookie-check.gitattributes funktionieren auf Mac und Windows nicht richtig

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy