Mit git nur eine bestimmte Datei oder ein Verzeichnis klonen

Git unterstützt nicht direkt das Klonen nur einer bestimmten Datei oder eines Verzeichnisses aus einem Repository. Sie können jedoch --depth 1 verwenden, um nur eine bestimmte Revision zu klonen (im Gegensatz zur gesamten Historie) und --no-checkout gefolgt von git sparse-checkout set verwenden, um nicht den gesamten Dateibaum, sondern nur eine bestimmte Datei auszuchecken.

Im folgenden Beispiel checken wir nur die EMQX-Konfigurationsdateien (in apps/emqx/etc) aus dem gesamten emqx-Repository aus:

git_sparse_clone.sh
git clone --depth 1 --branch v5.0.8 --no-checkout https://github.com/emqx/emqx.git
cd emqx
git sparse-checkout set apps/emqx/etc
git checkout v5.0.8

Nach diesem Befehl enthält der emqx-Ordner nur .git und apps/emqx/etc.

Beachten Sie, dass Sie git sparse-checkout set mehrfach aufrufen können, um mehrere unterschiedliche Pfade auszuchecken.

Dieses Beispiel wurde aus diesem StackOverflow-Post adaptiert.


Check out similar posts by category: Git, Version Management