2014-01-10 19 views
75

Ich versuche Repo von einem anderen Verzeichnis zu klonen.Git Klon aus einem anderen Verzeichnis

Lets sagen, ich habe ein Repo in C:/folder1 und C:/folder2

ich die Arbeit in folder1 in folder2 klonen möchten.

Was würde ich in die Eingabeaufforderung, dies zu tun?

Es scheint, dass oft, wenn eine URL Klonen eher ein Dateipfad dann zur Verfügung gestellt, aber in diesem Moment ich gerade zu üben und zu versuchen, den Einsatz zu Git zu bekommen.

+2

Sie 'git clone C verwenden können: \ Ordner1 \ .git folder2'.Sie müssen es aus dem Verzeichnis ausführen, in dem Ordner2 angezeigt werden soll. –

+0

Wenn Sie in Windows sind und es immer noch nicht funktioniert, müssen Sie 'file: \\' möglicherweise dem Repository-Pfad voranstellen. Siehe https://stackoverflow.com/questions/37422428/git-internal-error-refs-remotes-origin-master-is-not-a-valid-packed-reference –

Antwort

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

Vom documentation for git clone:

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

/path/to/repo.git/ 

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

Diese beiden Syntaxen meist gleichwertig sind , außer der erstgenannte - lokale Option.

+4

@grahamesd, wirklich müssen Sie nicht zuordnen ein Netzwerkordner als Laufwerk wegen GIT kann es recht gut klonen: 'git clone // pc_name/git' –

2

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. 
5

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 #)$ 
4

Falls Sie Platz in Ihrem Pfad, wickeln Sie es in doppelte Anführungszeichen:

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

Keine von diesen für mich gearbeitet. Ich benutze Git-Bash auf Windows. Das Problem wurde mit meiner Dateipfadformatierung festgestellt.

FALSCH:

git clone F:\DEV\MY_REPO\.git 

RICHTIG:.

git clone /F/DEV/MY_REPO/.git 

Diese Befehle aus dem Ordner, den Sie der Repo-Ordner in angezeigt werden soll getan werden

+0

Der folgende Befehl arbeitet in bash: git clone F: \ DEV \ MY_REPO –

1

Es ist erwähnenswert, dass der Befehl funktioniert Erwähnens in ähnlicher Weise auf Linux:

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

ich in windows.The einfachste Weise git-bash verwende ist die Pfadadresse zu ändern, um die nach vorn haben schlitzt:

git clone C:/Dev/proposed 

P. S: den Git-Bash auf dem Zielordner starten.

Pfad in Klon verwendet ---> c:/Dev/vorgeschlagen

Original-Pfad in Fenster ---> c: \ Dev \ vorgeschlagen