web-dev-qa-db-de.com

Inhalte eines GitHub-Repositorys klonen (ohne den Ordner selbst)

Ich möchte den Inhalt eines Repositorys, das ich unter GitHub habe, git clone. Wenn ich git clone (git @ github: me/name.git ...) erhalte, bekomme ich einen Ordner namens name/ und in meinem Namen habe ich meinen Inhalt ... Wie bekomme ich nur den Inhalt?

199
mazlix

Wenn das aktuelle Verzeichnis leer ist, können Sie dies mit:

git clone [email protected]:me/name.git .

(Beachten Sie den . am Ende, um das aktuelle Verzeichnis anzugeben.) Natürlich erstellt dies auch das .git-Verzeichnis in Ihrem aktuellen Ordner, nicht nur den Quellcode Ihres Projekts.

Dieser optionale [directory]-Parameter ist in der git clone-Handbuchseite dokumentiert, die darauf hinweist, dass das Klonen in ein vorhandenes Verzeichnis nur zulässig ist, wenn das Verzeichnis leer ist.

266
Mark Longair

Dies funktioniert leider nicht, wenn sich andere, nicht zusammenhängende Verzeichnisse im selben Verzeichnis befinden. Auf der Suche nach einer Lösung Die Fehlermeldung lautet: "fatal: Zielpfad '.' ist bereits vorhanden...".

Die Lösung in diesem Fall ist:

git init
git remote add Origin [email protected]:me/name.git
git pull Origin master

Dieses Rezept funktioniert auch, wenn sich in dem Verzeichnis, das Sie auschecken möchten, weitere Verzeichnisse befinden.

123
John Little

Wenn der Ordner nicht leer ist, funktionierte eine etwas modifizierte Version von @ JohnLittle für mich:

git init
git remote add Origin https://github.com/me/name.git
git pull Origin master

Wie @ peter-cordes darauf hinweist, besteht der einzige Unterschied darin, das https-Protokoll anstelle von git zu verwenden, für das Sie SSH-Schlüssel konfigurieren müssen.

31
Tomas Zemanovic

Sie können das Zielverzeichnis als zweiten Parameter des Befehls git clone angeben, sodass Sie Folgendes tun können:

git clone <remote> .

Dadurch wird das Repository direkt im aktuellen lokalen Verzeichnis geklont.

13
Laurent Pireyn

git repo in den Ordner current und empty klonen (kein git init) und wenn Sie ssh nicht verwenden:

git clone https://github.com/accountName/repoName.git .
0
fingerman

dieser Arbeiter für mich

git clone <repository> .