Wie füge ich eine einzelne Datei zu GIT LFS hinzu?

Lesezeit: 3 Minuten

Benutzer-Avatar
Benutzer2746401

Wie kann ich nur eine einzelne Datei zu GIT LFS hinzufügen?

Die meisten Beispiele zeigen das Hinzufügen eines Musters, das angibt, welche Dateien zu LFS hinzugefügt werden sollen. Ich möchte jedoch eine einzelne Datei hinzufügen. Wenn ich das zum Beispiel mache

git lfs track "file.bin"

das wird verfolgen alle Dateien benannt file.bin unabhängig davon, in welchem ​​Verzeichnis sie sich befinden.

Ich habe überlegt, einen Ausschlussfilter hinzuzufügen (! Muster) zu .gitattributes Schließen Sie also alle Verzeichnisse aus, aber das wird nicht unterstützt.

Das Beste, was ich bisher getan habe, ist, das Dateimuster für die Datei zu verfolgen, die ich hinzufügen möchte, die Datei hinzuzufügen und dann die Verfolgung dieses Dateimusters zu entfernen. Das ist ein wenig fummelig. Gibt es einen besseren Weg?

Ich möchte das Dateimuster ausdrücken $ROOT_OF_GIT_REPO/file.bin aber mir fehlt eine Möglichkeit, das auszudrücken $ROOT_OF_GIT_REPO Teil.

Geben Sie den Pfad zur Datei an, anstatt nur den Dateinamen.

  • Wie kann ich einen Pfad einer Datei angeben, die sich im Stammverzeichnis des Repositorys befindet?

    – Benutzer2746401

    17. August 2018 um 17:39 Uhr

  • Mit einem Schrägstrich. /file.txt

    – Markus Adelsberger

    17. August 2018 um 18:31 Uhr

  • Ich fürchte, das geht nicht. Das Dateimuster /file.bin stimmt mit jeder benannten Datei überein file.bin einschließlich in Unterverzeichnissen. Ich glaube, ich brauche ein Sonderzeichen, um zu markieren, dass das Dateimuster mit dem Stammverzeichnis des GIT-Repos beginnen soll

    – Benutzer2746401

    20. August 2018 um 7:16 Uhr

  • git-scm.com/docs/gitignore – “Ein führender Schrägstrich entspricht dem Anfang des Pfadnamens. Zum Beispiel passt ‘/*.c’ zu ‘cat-file.c’, aber nicht zu ‘mozilla-sha1/sha1.c’.”

    – Markus Adelsberger

    7. September 2018 um 14:57 Uhr

  • Oh und git-scm.com/docs/gitattributes – “Die Regeln, nach denen das Muster mit Pfaden übereinstimmt, sind die gleichen wie in .gitignore-Dateien (siehe gitignore[5]), mit ein paar Ausnahmen…” (Keine Sorge, die Ausnahmen haben keinen Einfluss auf das, worüber wir sprechen.)

    – Markus Adelsberger

    7. September 2018 um 15:00 Uhr

Benutzer-Avatar
Broschüre

Verwenden:

git lfs track --filename [file path]

Quelle: git lfs track --help

–Dateiname

Behandeln Sie die Argumente als wörtliche Dateinamen, nicht als Muster. Alle Glob-Sonderzeichen im Dateinamen werden beim Schreiben der .gitattributes-Datei maskiert.

Diese Option ist seit v2.9.0 der LFS-Erweiterung verfügbar (Pull-Anfrage). Sie können Ihre lokale Version überprüfen: git lfs version.

  • Dies ist möglicherweise eine neuere Option, wie ich bekomme Error: unknown flag: --filename Sorry, no usage text found for "track" mit Git-Version 2.17.1

    – Mike T

    19. März 2021 um 2:05 Uhr


  • Dies hat mehr mit der Version der LFS-Erweiterung zu tun: git lfs version.

    – Broschüre

    22. März 2021 um 13:48 Uhr

  • Es scheint, als sollte dies die bevorzugte Antwort für mich sein

    – Herr Junge

    8. Oktober 2021 um 11:53 Uhr

Sie können einen beliebigen Dateinamen oder Pfad in Ihrem Repository angeben. Sie sind nicht auf die Verwendung von Dateierweiterungen beschränkt. Sie können auch ein bestimmtes Verzeichnis mit git lfs track ‘assets/*’ oder einen ganzen Verzeichnisbaum mit git lfs track ‘assets/**/*’ tracken. Sie können einzelne Dateien auch speziell mit git lfs track path/to/file verfolgen, wodurch nur diese Datei verfolgt wird.

1280940cookie-checkWie füge ich eine einzelne Datei zu GIT LFS hinzu?

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

Privacy policy