Atlassian SourceTree: Wie kann man Zeilenenden global ändern?

10

Gibt es eine Möglichkeit, entweder in Atlassian SourceTree oder mit meinem aktuellen Git-Host (BitBucket) die Zeilenenden für alle meine Repositorys global zu ändern?

Ich denke, sie sind derzeit auf Unix eingestellt (ich glaube, ich habe dies versehentlich getan), aber ich entwickle ausschließlich unter Windows. Meine IDE gibt mir immer wieder Warnmeldungen und Fehler zu gemischten Zeilenenden in meinen Dateien und ich möchte diese beheben, aber jedes Mal, wenn ich mein Projekt in die Cloud schiebe, wird es wieder in Unix-Endungen geändert, selbst wenn ich die Zeilenenden stapelweise ändere sie werden sowieso zurückgesetzt.

Scott
quelle

Antworten:

12

Sie können die Behandlung der Zeilenenden pro Repository konfigurieren, indem Sie dem Stammordner Ihres Git-Repositorys eine spezielle .gitattributes-Datei hinzufügen . Wenn diese Datei in das Repository übernommen wird, überschreibt sie die Einstellung core.autocrlf des einzelnen Entwicklers.

In dieser Datei können Sie Git so konfigurieren, dass die Zeilenenden automatisch erkannt werden.

Hinweis: - Nicht alle grafischen Git-Tools unterstützen die .gitattributes-Datei. Beispielsweise wird sie derzeit von der Eclipse-IDE nicht unterstützt.

Hier ist ein Beispiel für eine .gitattributes-Datei. Sie können es als Vorlage für Ihre Repositorys verwenden:

# 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.
*.c text
*.h 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

Sie werden feststellen, dass die Dateien übereinstimmen - *. C, * .sln, * .png--, durch ein Leerzeichen getrennt und dann mit einer Einstellung versehen - text, text eol = crlf, binary. Wir werden einige mögliche Einstellungen unten durchgehen.

text = auto Git behandelt die Dateien so, wie es für am besten gehalten wird. Dies ist eine gute Standardoption.

text eol = crlf Git konvertiert Zeilenenden beim Auschecken immer in CRLF. Sie sollten dies für Dateien verwenden, die CRLF-Endungen behalten müssen, auch unter OSX oder Linux. Hier ist beispielsweise ein Windows-Projekt, das CRLF-Zeilenenden erzwingt.

text eol = lf Git konvertiert Zeilenenden beim Auschecken immer in LF. Sie sollten dies für Dateien verwenden, die LF-Endungen behalten müssen, auch unter Windows. Zum Beispiel , hier ist ein Projekt , das LF Zeilenenden erzwingt.

Binäres Git wird verstehen, dass die angegebenen Dateien kein Text sind und es sollte nicht versuchen, sie zu ändern. Die binäre Einstellung ist auch ein Alias ​​für -text -diff.

gpullen
quelle
Externe Links können nicht mehr verfügbar sein. In diesem Fall hätte Ihre Antwort wenig Wert. Bitte fügen Sie die wesentlichen Informationen in Ihre Antwort ein und verwenden Sie den Link für die Zuordnung und eine Quelle für weitere Informationen. Vielen Dank.
Fixer1234
Hoffe, dies beinhaltet die erforderlichen Details
gpullen