Git LFS-Track-Ordner rekursiv

99

Ist es möglich, alle in einem Ordner und seinen Unterordnern enthaltenen Dateien mit Git LFS rekursiv zu verfolgen?

Ich möchte so etwas machen:

git lfs track myfolder/*
csa
quelle

Antworten:

143

Verwenden Sie git lfs track "myfolder/**"mit Anführungszeichen, um zu vermeiden, dass die Shell das Muster bereits erweitert. Alles, was der trackBefehl tut, ist zu schreiben .gitattributes, was wiederum (fast) die gleichen Mustervergleichsregeln verwendet wie .gitignorein der Beschreibung PATTERN FORMAT .

sschuberth
quelle
Ich habe dies mit Unterordnern versucht, aber nur Dateien und direkte Unterordner (wie myfolder / myfolder2 / ), die in myfolder enthalten sind, werden verfolgt, nicht jedoch die in den Unterordnern enthaltenen Dateien (wie myfolder / myfolder / myfile.png ). Vielen Dank für Ihre Hilfe
csa
18
Ah, Sie sind wahrscheinlich ein Opfer der Shell-Erweiterung, dh sie myfolder/**wurde von der Shell erweitert, bevor sie an Git übergeben wurde. Ich habe meine Antwort aktualisiert, um Anführungszeichen hinzuzufügen, die das beheben sollten.
Sschuberth
2
Ja, das funktioniert bei mir und laut den Kommentaren auch bei anderen. Wenn Sie unter Windows arbeiten, beachten Sie, dass der Befehl von Git Bash verwendet werden muss, nicht von cmd.
sschuberth
1
Eigentlich gerade getestet und es scheint, dass dieser Hilfe-Center-Artikel falsch ist, und Sie möchten verwenden, git lfs track "myfolder/**"wie diese Antwort vorschlägt. Weitere Details und Überprüfungsschritte finden Sie in dieser Antwort .
Sinnvoll
5
Ich musste es benutzen git lfs track "myfolder/**/*", damit es funktionierte.
Luc