Ich habe ein Projekt mit git und möchte nur ein bestimmtes Verzeichnis klonen oder abrufen, wie myproject / javascript, genau wie Subversion.
Nehmen Sie einige Änderungen vor, legen Sie fest und drücken Sie erneut zurück.
Es ist möglich?
193
Antworten:
git fetch
git checkout HEAD path/to/your/dir/or/file
Wobei "
path/...
" in (3) im Verzeichnis direkt unter dem Repo-Stammverzeichnis beginnt, in dem sich Ihr ".../file
" befindetHINWEIS: Anstelle von "HEAD" kann der Hash-Code eines bestimmten Commits verwendet werden. Anschließend erhalten Sie die für dieses Commit spezifische Revision (Datei) oder Revision (Verzeichnis).
quelle
--
ist jedoch nicht erforderlich. Es erzwingt, dass die Bits danach als Pfad interpretiert werden. Also, ja, wenn Sie eine Datei mit dem Namen haben--help
, den Sie auschecken möchten, müssen Sie diese Bindestriche voranstellen:git checkout HEAD -- --help
In einem leeren Verzeichnis:
quelle
fetch
odercheckout
Befehle, wir können einfach die Pull-Anfrage nach demremote add
Befehl stellen, um den gesamten Hauptzweig abzurufen.Nachdem ich viel nach einer Antwort gesucht, nicht gefunden, aufgegeben, erneut versucht usw. hatte, fand ich schließlich in einem anderen SO-Thread eine Lösung dafür:
Wie man alle Ordner bis auf einen git-pull
So kopieren und einfügen, was da ist:
Um das zu tun, was OP will (arbeiten Sie nur an einem Verzeichnis), fügen Sie einfach dieses eine Verzeichnis hinzu
.git/info/sparse-checkout
, wenn Sie die obigen Schritte ausführen.Vielen vielen Dank an @cforbish!
quelle
master
.git branch --set-upstream-to=origin/<branch>
Es ist nicht möglich. Sie müssen alle Repository oder nichts ziehen.
quelle
Vielleicht kann dieser Befehl hilfreich sein:
"Et voilà"
quelle
Wenn Sie die neuesten Änderungen in einem Verzeichnis abrufen möchten, ohne es einzugeben, haben Sie folgende Möglichkeiten:
quelle
git clone --filter
ab Git 2.19Diese Option überspringt das Abrufen nicht benötigter Objekte vom Server.
Ich habe eine ausführliche Antwort geschrieben, in der der aktuelle Supportstatus erläutert wird: Wie klone ich nur ein Unterverzeichnis eines Git-Repositorys?
Es ist sehr wahrscheinlich, dass alles, was
git clone
in diesem Bereich implementiert wird, auchgit pull
Analoga enthält.quelle
Versucht und getestet funktioniert das!
Hoffe das war hilfreich!
quelle
Manchmal möchten Sie nur einen Blick auf frühere Kopien von Dateien werfen, ohne die Mühe zu haben, die Unterschiede durchzugehen.
In einem solchen Fall ist es genauso einfach, einen Klon eines Repositorys zu erstellen und das spezifische Commit zu überprüfen, an dem Sie interessiert sind, und sich das Unterverzeichnis in diesem geklonten Repository anzusehen. Da alles lokal ist, können Sie diesen Klon einfach löschen, wenn Sie fertig sind.
quelle
Bei all den Schwierigkeiten mit theoretischen Dateipfaden und Beispielen wie ich hier ein Beispiel aus der Praxis: Microsoft bietet seine Dokumente und Beispiele auf Git Hub an. Leider sammeln sie alle Beispieldateien für eine große Anzahl von Themen in diesem Repository:
Ich war nur an den Microsoft Dynamics js-Dateien im Pfad interessiert
Also habe ich folgendes gemacht
ein ... kreieren
Datei in meinem Repositorys-Ordner auf der Festplatte
in diesem Verzeichnis mit cmd unter Windows
Der Dateiinhalt von
ist
endlich mach ein
quelle