665 Stimmen

Wie man Git dazu bringt, in das aktuelle Verzeichnis zu klonen

Das tue ich:

git clone ssh://user@host.com/home/user/private/repos/project_hub.git ./

Ich bekomme:

Fatal: Zielpfad '.' existiert bereits und ist kein leeres Verzeichnis.

Ich weiß, dass path . bereits existiert. Und ich kann mir sicher sein, dass das Verzeichnis leer ist (ich mache ls darin und sehe nichts!).

Was fehlt mir hier, um das Projekt in das aktuelle Verzeichnis zu klonen?

58voto

return1.at Punkte 2752
git clone your-repo tmp && mv tmp/.git . && rm -rf tmp && git reset --hard

40voto

Nick Grealy Punkte 21004

Angabe des absoluten aktuellen Pfads mit $(pwd) hat für mich funktioniert.

git clone https://github.com/me/myproject.git $(pwd)

Git-Version: 2.21.0

Benötigt ein leeres Verzeichnis, wie in der Ticketbeschreibung angegeben.


UPDATE 2022: Sie können jetzt einfach die .

d.h.

git clone https://github.com/me/myproject.git .

Git-Version: 2.36.1

15voto

MEM Punkte 29261

Die Lösung war die Verwendung des dot , also:

rm -rf .* && git clone ssh://user@host.com/home/user/private/repos/project_hub.git .`

rm -rf .* && kann weggelassen werden, wenn wir absolut sicher sind, dass das Verzeichnis leer ist.

Die Credits gehen an: @James McLaughlin in den Kommentaren

14voto

GoZoner Punkte 63309

Wenn das aktuelle Verzeichnis leer ist, wird dies funktionieren:

git clone <repository> foo; mv foo/* foo/.git* .; rmdir foo

10voto

RexBarker Punkte 958

Ich habe dies verwendet, um ein Repo in das aktuelle Verzeichnis zu klonen, das nicht leer war. Nicht unbedingt sauber leben, aber es war in einem Einweg-Docker-Container:

git clone https://github.com/myself/myRepo.git temp
cp -r temp/* .
rm -rf temp

Hier habe ich cp -r anstelle von mv , da dadurch versteckte Dateien und Verzeichnisse kopiert werden. Entsorgen Sie dann das temporäre Verzeichnis mit rm -rf

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X