Ich verwende Tabulatoren zum Einrücken in meinen Python-Programmen, möchte aber (mit Git) mit Personen zusammenarbeiten, die stattdessen Leerzeichen verwenden.
Gibt es eine Möglichkeit für git, beim Drücken / Abrufen automatisch zwischen Leerzeichen und Tabulatoren (z. B. 4 Leerzeichen = 1 Tabulator) zu konvertieren? (ähnlich der CR / LF-Umwandlung)
git
tabs
indentation
Olivier Verdier
quelle
quelle
Antworten:
Hier ist die Komplettlösung:
Fügen Sie in Ihrem Repository eine Datei hinzu,
.git/info/attributes
die Folgendes enthält:Linux / Unix
Führen Sie nun die folgenden Befehle aus:
OS X.
Installieren Sie zuerst Coreutils mit Gebräu:
Führen Sie nun die folgenden Befehle aus:
Alle Systeme
Sie können jetzt alle Dateien Ihres Projekts auschecken. Sie können das tun mit:
und alle Python-Dateien haben jetzt Tabulatoren anstelle von Leerzeichen.
Bearbeiten : Der Befehl zum erzwungenen Auschecken wurde geändert. Sie sollten Ihre Arbeit natürlich zuerst verpflichten.
quelle
homebrew
und dann ausführenbrew install coreutils
).Ja, eine mögliche Lösung besteht darin, einen Git-Attributfiltertreiber (siehe auch GitPro-Buch ) zu verwenden, um einen Verschmutzungs- / Bereinigungsmechanismus zu definieren.
Dieser Weg:
Sie können diesen Filtertreiber (hier '
tabspace
' genannt) im.git/info/attributes
(für einen Filter, der auf alle Dateien im Git-Repo angewendet wird) mit folgendem Inhalt deklarieren :Führen Sie nun die folgenden Befehle aus:
Siehe Olivier ‚s Antwort für ein konkretes Arbeitsbeispiel für eine solche wisch / sauber Reihe von Anweisungen.
quelle
--global
Flagge entfernen , da dies bedeuten würde, dass Sie Leerzeichen an jedes Kollaborationsprojekt senden ....gitattributes
. Aber ja, es ist einfacher zu verstehen, ob die Konfiguration lokal im Repo gehalten wird. Ich habe die Antwort bearbeitet.Sehr nützliche Informationen für alle, die GitHub (oder einen ähnlichen Dienst) verwenden.
~/.gitconfig
Dann habe ich zwei Dateien:
attributes
und
attributes2
Arbeit an persönlichen Projekten
Auf diese Weise sieht es in der Codeansicht, mit
8 space tabs
der in allen Browsern das Standardverhalten verwendet wird, nicht albern aus, wenn Sie Ihre Arbeit auf Github endgültig vorantreiben .Beiträge zu anderen Projekten
Auf diese Weise können Sie mit normalen Registerkarten an
2 space indented
Projekten arbeiten.Natürlich können Sie eine ähnliche Lösung für die Konvertierung schreiben. Dies
4 space to 2 space
ist der Fall, wenn Sie zu von mir veröffentlichten Projekten beitragen möchten und bei der Entwicklung in der Regel zwei Leerzeichen verwenden.quelle
.gitattributes
Datei in Ihrem Repo verwenden (und festschreiben) könnenWenn Sie unter Windows arbeiten, müssen Sie einige zusätzliche Schritte ausführen, damit die Lösung von @Olivier Verdier funktioniert.
quelle