Git-Klon aus einem anderen Verzeichnis


155

Ich versuche, Repo aus einem anderen Verzeichnis zu klonen.

Nehmen wir an, ich habe ein Repo in C:/folder1undC:/folder2

Ich möchte die Arbeit folder1einklonen folder2.

Was würde ich dazu in die Eingabeaufforderung eingeben?

Es scheint, dass beim Klonen häufig eher eine URL als ein Dateipfad bereitgestellt wird. In diesem Moment übe ich jedoch nur und versuche, mich an Git zu gewöhnen.


4
Sie können verwenden git clone C:\folder1\.git folder2. Sie müssen es aus dem Verzeichnis ausführen, in dem Ordner2 angezeigt werden soll
Akash Agrawal

Wenn Sie sich in Windows befinden und es immer noch nicht funktioniert, müssen Sie möglicherweise `file: \` dem Repository-Pfad voranstellen. Siehe diese stackoverflow.com/questions/37422428/…
Jacob H

Antworten:


172
cd /d c:\
git clone C:\folder1 folder2

Aus der Dokumentation fürgit clone :

Für lokale Repositorys, die auch von git nativ unterstützt werden, können die folgenden Syntaxen verwendet werden:

/path/to/repo.git/

file:///path/to/repo.git/

Diese beiden Syntaxen sind größtenteils gleichwertig, mit der Ausnahme, dass die erstere die Option --local impliziert.


4
@grahamesd, wirklich müssen Sie keinen Netzwerkordner als Laufwerk zuordnen, da GIT es ziemlich gut klonen kann:git clone //pc_name/git
vladimir_ki

18

Nichts davon hat bei mir funktioniert. Ich benutze Git-Bash unter Windows. Es wurde herausgefunden, dass das Problem bei der Formatierung meines Dateipfads lag.

FALSCH:

git clone F:\DEV\MY_REPO\.git

RICHTIG:

git clone /F/DEV/MY_REPO/.git

Diese Befehle werden in dem Ordner ausgeführt, in dem der Repo-Ordner angezeigt werden soll.


Der folgende Befehl funktioniert in bash: Git-Klon F: \ DEV \ MY_REPO
M. Hassan

Für Git-Bash können Sie entweder Backslash /oder Double Slash `\\` verwenden. Aber kein einziger Schrägstrich.
Elad Weiss

15

Es ist erwähnenswert, dass der Befehl unter Linux ähnlich funktioniert:

git clone path/to/source/folder path/to/destination/folder

7

Es ist so einfach wie es aussieht.

14:27:05 ~$ mkdir gittests
14:27:11 ~$ cd gittests/
14:27:13 ~/gittests$ mkdir localrepo
14:27:20 ~/gittests$ cd localrepo/
14:27:21 ~/gittests/localrepo$ git init
Initialized empty Git repository in /home/andwed/gittests/localrepo/.git/
14:27:22 ~/gittests/localrepo (master #)$ cd ..
14:27:35 ~/gittests$ git clone localrepo copyoflocalrepo
Cloning into 'copyoflocalrepo'...
warning: You appear to have cloned an empty repository.
done.
14:27:42 ~/gittests$ cd copyoflocalrepo/
14:27:46 ~/gittests/copyoflocalrepo (master #)$ git status
On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)
14:27:46 ~/gittests/copyoflocalrepo (master #)$ 

7

Wenn Sie Platz in Ihrem Pfad haben, setzen Sie ihn in doppelte Anführungszeichen:

$ git clone "//serverName/New Folder/Target" f1/

3

Verwenden git clone c:/folder1 c:/folder2

git clone [--template=<template_directory>] [-l] [-s] [--no-hardlinks]
[-q] [-n] [--bare] [--mirror] [-o <name>] [-b <name>] [-u <upload-pack>]
[--reference <repository>] [--separate-git-dir <git dir>] [--depth <depth>]
[--[no-]single-branch] [--recursive|--recurse-submodules] [--]<repository>
[<directory>]


<repository>

    The (possibly remote) repository to clone from.
    See the URLS section below for more information on specifying repositories.
<directory>

    The name of a new directory to clone into.
    The "humanish" part of the source repository is used if no directory 
    is explicitly given (repo for /path/to/repo.git and foo for host.xz:foo/.git).
    Cloning into an existing directory is only allowed if the directory is empty.

0

Ich verwende Git-Bash in Windows. Der einfachste Weg ist, die Pfadadresse so zu ändern, dass die Schrägstriche angezeigt werden:

git clone C:/Dev/proposed 

PS: Starten Sie die Git-Bash im Zielordner.

In Klon verwendeter Pfad ---> c: / Dev / vorgeschlagen

Ursprünglicher Pfad in Windows ---> c: \ Dev \ vorgeschlagen


0

Den Pfad selbst zu benutzen hat bei mir nicht funktioniert.

Folgendes hat unter MacOS endlich für mich funktioniert:

cd ~/projects
git clone file:///Users/me/projects/myawesomerepo myawesomerepocopy

Das hat auch funktioniert:

git clone file://localhost/Users/me/projects/myawesomerepo myawesomerepocopy

Der Pfad selbst hat funktioniert, wenn ich das getan habe:

git clone --local myawesomerepo myawesomerepocopy

Ja, das Beispiel des OP ist Windows, aber die Frage ist nicht mit Windows gekennzeichnet.
Deshalb habe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.