2012-02-25 27 views
9
$ git clone ssh://host/repo.git ~/ 
destination directory '/home/username/' already exists. 

¿Alguien me puede decir cómo hacer esto? Intento rápidamente poder replicar scripts y configuraciones de desarrollo comunes.git clonar en el directorio de inicio

+1

'git clone' ve a crear un nuevo directorio en la ruta de trabajo, o en la ruta especificada. Como '~ /' ya existe, no puede crear un nuevo directorio ... –

+1

¿Realmente desea extraer todo el directorio de inicio de un repositorio git? ¿O en un subdirectorio? –

+1

Sí, todos los archivos del repositorio pertenecen al directorio de inicio. – rich

Respuesta

28

Esto parece funcionar:

cd ~ 
git init 
git remote add origin ssh://host/repo.git 
git pull origin master 
1
cd ~ 
git clone ssh://host/repo.git 

Después de eso, usted tiene el proyecto en el directorio /home/username/repo/

Si usted quiere tener el proyecto en un nombre de carpeta diferente (por ejemplo, 'foo /')

mkdir ~/foo 
cd ~/foo 
git clone ssh://host/repo.git foo/ 
+0

Aunque lo quiero desprotegido en el directorio de inicio. – rich

1

lo haría clonar el repositorio en un subdirectorio:

git clone ssh://your/git/repo.git ~/repo 

Y crear enlaces simbólicos a los archivos de configuración:

ln -s ~/repo/.bashrc ~/.bashrc 
+1

Eso sería una pesadilla para todos y cada uno de los archivos del repositorio por cada máquina en la que quiera clonar. – rich

+1

Por supuesto, pero usted crea un script de shell para eso también ... [Ejemplo de Github] (https://github.com/Mytho/dotfiles/blob/master/setup.sh) –

2

El comando de clonación crea un nuevo directorio cuando se pasa un segundo argumento:

$ git clone ssh://host/repo.git ~/your_directory 

clone creará ~/your_directory. Si el directorio ya existe, te dará el error que obtienes.

+0

Bastante. Entonces, ¿cómo lo fuerzo a funcionar? – rich

+0

@rich acaba de dar un nombre de directorio como en mi ejemplo o hacer 'cd ~ && git clone ssh: // host/repo.git' – ouah

Cuestiones relacionadas