Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 8411|Antwort: 2

Git ignoriert Commits .gitignore

[Link kopieren]
Veröffentlicht am 11.07.2019 14:08:03 | | |
Bei der Nutzung von Git möchten wir, dass Dateien wie Logs, temporäre Dateien, kompilierte Zwischendateien usw. nicht im Code-Repository eingereicht werden, daher müssen wir entsprechende Ignorier-Regeln einstellen, um das Commit dieser Dateien zu ignorieren.

Git ignoriert die Methode der Dateicommits

Es gibt drei Möglichkeiten, Dateien zu ignorieren, die du nicht in Git committen möchtest.

Definiere die .gitignore-Datei in deinem Git-Projekt

Dies wird verwaltet, indem eine .gitignore-Datei in einem Ordner im Projekt definiert wird, in dem die entsprechenden Ignorieren-Regeln definiert sind.Aktueller OrdnerDas Verhalten der Git-Commit der Datei unter dem
.gitignore-Dateien können in öffentliche Repositorien eingereicht werden, was bedeutet, dass alle Entwickler im Projekt einen definierten Satz von Ignorier-Regeln teilen.
In der .gitingore-Datei gibt man auf jeder Zeile eine Ignorierungsregel an, die der entsprechenden Syntax folgt. Zum Beispiel:


Gib in den Einstellungen des Git-Projekts die Ausschlussdateien an

Dies ist lediglich eine temporäre Spezifikation des Projektverhaltens, die erfordert, die .git/info/exlyde-Datei unter dem aktuellen Projekt zu bearbeiten und dann die Datei zu schreiben, zu der der Commit ignoriert werden muss.
Beachten Sie, dass das Root-Verzeichnis der auf diese Weise angegebenen ignorierten Dateien die Projektwurzel ist.


Eine .gitignore-Datei, die das Git-Globale definiert

Neben der Möglichkeit, .gitignore-Dateien in deinem Projekt zu definieren, kannst du auch eine globale git-.gitignore-Datei einrichten, um das Verhalten aller Git-Projekte zu verwalten. Dieser Ansatz wird nicht von verschiedenen Projektentwicklern geteilt und ist ein Verhalten auf Git-Anwendungsebene zusätzlich zum Projekt.

Dies erfordert außerdem die Erstellung einer entsprechenden .gitignore-Datei, die überall platziert werden kann. Dann konfigurieren Sie Git mit folgendem Befehl:




Git ignoriert Regeln

Für detaillierte Ignorationsregeln siehe bitte die offizielle englische Dokumentation an der Adresse:Der Hyperlink-Login ist sichtbar.

Git ignoriert Regelpriorität

In der .gitingore-Datei gib für jede Zeile eine Ignorier-Regel an, und Git prüft beim Ignorieren von Regeln mehrere Quellen mit folgender Priorität (von höchstem nach niedrigsten):



  • Lies die verfügbaren Ignorieren-Regeln aus der Befehlszeile
  • Die vom aktuellen Verzeichnis definierten Regeln
  • Die vom übergeordneten Verzeichnis definierten Regeln sind rekursiv
  • $GIT_DIR/info/exclude Datei
  • core.excludesfile


Git ignoriert die Syntax der Regelabstimmung

In der .gitignore-Datei lautet die Syntax der Ignorieren-Regel für jede Zeile wie folgt:


  • Spaces, die nicht mit beliebigen Dateien übereinstimmen, können als Separatoren verwendet und können mit Backslashes escaped werden
  • # Der Kommentar zur Dateiidentifikation am Anfang kann durch einen Backslash umgangen werden
  • ! Die Schema-Identifikation am Anfang ist negativ, und die Datei wird erneut eingeschlossen; wenn das übergeordnete Verzeichnis der Datei ausgeschlossen ist, verwenden Sie ! wird nicht mehr aufgenommen. Flucht kann mit einem Rückschlag ausgeführt werden
  • / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
  • / 开始的模式匹配项目跟目录
  • Wenn ein Muster keinen Schrägstrich enthält, stimmt es dem Inhalt relativ zum aktuellen .gitignore-Dateipfad überein, und wenn das Muster nicht in der .gitignore-Datei ist, relativ zur Projektwurzel
  • ** Matching multilevel-Kataloge können am Anfang, in der Mitte und am Ende verwendet werden
  • ? Universelle Übereinstimmung einzelner Zeichen
  • [ ] Universelle Spielliste einzelner Charaktere



Häufige Matching-Beispiele:

  • bin/: ignoriert den BIN-Ordner unter dem aktuellen Pfad, alles unter diesem Ordner wird ignoriert, nicht die BIN-Datei
  • /bin: 忽略根目录下的bin文件
  • /*.c: 忽略 cat.c,不忽略 build/cat.c
  • Debug/*.obj: Debug/io.obj ignorieren, Debug/Common/io.obj und Tools/Debug/io.obj
  • **/foo: /foo, a/foo, a/b/foo usw. ignorieren
  • a/**/b: a/b, a/x/b, a/x/y/b usw. ignorieren
  • !/bin/run.sh: Ignorieren Sie run.sh Dateien im bin-Verzeichnis nicht
  • *.log: Ignoriere alle .log Dateien
  • config.php: 忽略当前路径的 config.php 文件



.gitignore-Regel tritt nicht in Kraft

.gitignore kann nur Dateien ignorieren, die ursprünglich nicht verfolgt wurden, und die Änderung von .gitignore ist wirkungslos, wenn einige Dateien bereits in die Versionierung integriert wurden.

Der Workaround besteht darin, den lokalen Cache zu löschen (in den untracked-Status zu ändern), bevor man committiert:


(Ende)





Vorhergehend:JS--Plugin: Baumentwicklung und Implementierungsanhang ist herunterladbar!!
Nächster:PHP-Konfiguration des HTTP-Protokoll-Schemas
Veröffentlicht am 12.07.2019 09:32:26 |
.gitignore ist nach der Änderung ungültig
https://www.itsvse.com/thread-4367-1-1.html
(Quelle: Architect_Programmer)
 Vermieter| Veröffentlicht am 24.09.2024 12:46:32 |
Die Konfigurationsdatei des Git-Projekts .gitignore tritt in Kraft
https://www.itsvse.com/thread-10816-1-1.html
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com