2013-07-10 16 views
32

Ho dato accesso al server e voglio clonare repo git nella mia cartella principale. Ma quando faccio git clone mi farà diventare una cartella con il nome del progetto, e la mia cartella di progetto è la mia radice. Non ho accesso alla mia cartella principale mia radice ègit clone senza cartella di progetto

/var/www/sites/mysite/ 

e quando lo faccio la clonazione struttura delle cartelle sarà

/var/www/sites/mysite/mysite 
+0

assicurarsi di non recapitare .git in apache/server web di scelta. – mnagel

risposta

80

git clone accetta un ultimo argomento che è la directory di destinazione, è per impostazione predefinita il nome del progetto ma è possibile modificarlo. Nel tuo caso, probabilmente si vuole semplicemente .:

$ git clone origin-url . 

Ma nota che, da man git-clone:

Clonazione in una directory esistente è consentito solo se la directory è vuota.

2

è possibile clonare il vostro progetto in sottocartella e spostare tutti i file tra cui il .git cartella nella cartella principale (la tua radice).

+1

perché non può essere fatto più facilmente, come git clone [email protected]: qualunque cosa. \ – dzona

+0

può, vedere risposta rodrigos. ma tu sai che un repository git è solo un mucchio di file che possono essere spostati liberamente, questa risposta è facile da ricordare. – mnagel

11

È anche possibile impostare una nuova pronti contro termine e quindi la distanza di tracciamento e ramo:

git init . 
git remote add origin [email protected]:user/repo.git 
git fetch origin 
git checkout master 
+0

Questo ancora non funzionerebbe se il repository ha una cartella principale – Hittz

4

Ricordate che un repository git è semplicemente la struttura della directory in cui si memorizza. Ciò significa che quando cloni un repository nella directory sbagliata, puoi semplicemente spostare il contenuto della directory in qualsiasi altro posto che desideri e i dati del repository sono ancora intatti. Ad esempio, è possibile eseguire i seguenti comandi dalla riga di comando:

$ mv /var/www/sites/mysite/mysite/* /var/www/sites/mysite` 
$ mv /var/www/sites/mysite/mysite/.* /var/www/sits/mysite` 
$ rmdir /var/www/sites/mysite/mysite