Sie können sparse-checkout
verwenden, um Ihr Arbeitsverzeichnis sparsam zu füllen. sparse-checkout
verwendet das Bit skip-worktree
, das git davon ausgeht, dass die Datei in Ihrem Arbeitsbaum auf dem neuesten Stand ist, egal was passiert.
Für die folgend Ich nehme an, dass Sie sich in der Wurzel Ihres Repository sind und einen sauberen Arbeitsbaum (git stash
zum Beispiel).
Zuerst müssen Sie sparse-checkout
mit git config core.sparsecheckout true
aktivieren; Danach können Sie alle Muster definieren, die Sie beim Auschecken in .git/info/sparse-checkout
"ignorieren" möchten.
Die Syntax ist die gleiche wie in einer .gitignore
Datei, mit dem Unterschied, dass Sie alle Dateien definieren, die Sie wollen zur Kasse nicht diejenigen, die Sie ignorieren möchten.
Nehmen wir an, Sie alle png
Dateien im Repository auschecken vermeiden wollen, dann sparse-checkout
Datei könnte wie folgt aussehen:
* # Include everything
!*.png # Flag png files with the 'skip-worktree' bit
Wenn Sie die sparse-checkout
zu Ihrem aktuellen Arbeitsverzeichnis anwenden möchten Sie müssen Führen Sie danach einen read-tree
Befehl aus.
Danach können Sie wie gewohnt mit Ihrem Repository arbeiten, ohne die "ignorierten" Dateien in Ihrem Arbeitsbaum.
TL; DR:
- aktivieren
sparse-checkout
: git config core.sparsecheckout true
- definieren
sparse-checkout
Datei unter .git/info/
die Muster der Dateien enthält, die Sie wollen
- Aktualisieren der Arbeitsbaum enthalten
git read-tree -m -u HEAD
Sie können mehr über sparse-checkout
in der offiziellen Dokumentation von git read-tree
lesen.
Das ist nicht möglich. Vielleicht können die Bilddateien in ein separates Repository extrahiert werden (das möglicherweise über ein Submodul zur Verfügung gestellt wird), von dem Sie auswählen können, dass Sie es nicht abrufen möchten. –