Nur um einige der großartigen Antworten hier zu verdeutlichen: Die in vielen Antworten beschriebenen Schritte setzen voraus, dass Sie bereits irgendwo ein Remote-Repository haben.
Gegeben: ein bestehendes Git-Repository, z. B. git@github.com:some-user/full-repo.git
mit einem oder mehreren Verzeichnissen, auf die Sie zugreifen möchten unabhängig des Restes des Repo, z.B. Verzeichnisse mit dem Namen app1
y app2
Angenommen, Sie haben ein Git-Repository wie das oben genannte...
Dann: können Sie Schritte wie die folgenden ausführen, um nur bestimmte Verzeichnisse aus diesem größeren Repo:
mkdir app1
cd app1
git init
git remote add origin git@github.com:some-user/full-repo.git
git config core.sparsecheckout true
echo "app1/" >> .git/info/sparse-checkout
git pull origin master
Ich hatte fälschlicherweise gedacht, dass die Sparse-Checkout-Optionen im ursprünglichen Repository gesetzt werden müssen, aber das ist nicht der Fall: Sie definieren die Verzeichnisse, die Sie lokal haben wollen, bevor Sie sie aus dem entfernten Repository ziehen. Das entfernte Repository weiß nicht, dass Sie nur einen Teil des Repositorys verfolgen wollen und kümmert sich auch nicht darum.
Ich hoffe, diese Klarstellung hilft jemandem weiter.
18 Stimmen
Mögliche Duplikate von Unterverzeichnisse in Git auschecken?
2 Stimmen
Für einen Nutzer des Jahres 2014, was die
git clone
einfachsten Befehl? Ich habe este einfache Antwort . Wenn es etwas mehr einfach, bitte kommentieren1 Stimmen
Für diejenigen, die versuchen, den Inhalt des Repositorys zu klonen (und nicht den Root-Ordner zu erstellen), ist dies eine sehr einfache Lösung: stackoverflow.com/questions/6224626/
1 Stimmen
@JoachimBreitner: Diese Frage bezieht sich auf ausprobierend Unterverzeichnisse in Git (was einfach ist), während es bei dieser Frage um Klonen Unterverzeichnisse in Git (was unmöglich ist).
2 Stimmen
@NickSergeant: Seit Git 2.19, das vor 3 Wochen veröffentlicht wurde, ist dies endlich möglich, wie in dieser Antwort zu sehen ist: stackoverflow.com/a/52269934/2988 Überlegen Sie, ob Sie das jetzt akzeptieren. Hinweis: In Git 2.19 ist nur clientseitige Unterstützung implementiert, serverseitige Unterstützung fehlt noch, daher funktioniert es nur beim Klonen von lokalen Repositories. Beachten Sie auch, dass große Git-Hoster, wie z.B. GitHub, nicht den Git-Server verwenden, sondern ihre eigene Implementierung, so dass selbst wenn die Unterstützung im Git-Server auftaucht, dies nicht automatisch bedeutet, dass sie auf Git-Hostern funktioniert. (Außerdem könnten sie es schneller implementieren.)
1 Stimmen
Siehe auch: stackoverflow.com/questions/466303/
1 Stimmen
Ich habe eine
bash
Funktion, die das Herunterladen der Historie vermeidet, die einen einzelnen Zweig abruft und die eine Liste von Dateien oder Verzeichnissen abruft, die Sie benötigen. Sehen Sie es hier: stackoverflow.com/questions/60190759/5 Stimmen
Wenn Sie einen Ordner aus einem GitHub Repo herunterladen möchten, download-directory.github.io könnte genau das Richtige sein
1 Stimmen
@jemand771 Das war ein ausgezeichneter Kommentar. Genau das, was ich brauchte. Danke!
0 Stimmen
Svn rockt. Ich verwende diese Funktion für untergeordnete und verschachtelte Repos. git kann das nicht.