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

Quelqu'un peut-il me dire comment faire ce travail? J'essaye de pouvoir rapidement répliquer les scripts de développement et les config communs.git clone dans le répertoire personnel

+1

'clone' git semble créer un nouveau répertoire dans le chemin de travail ou sur le chemin spécifié. Puisque '~ /' existe déjà, il ne peut pas créer un nouveau répertoire ... –

+1

Voulez-vous vraiment extraire tout votre répertoire personnel d'un repo git? Ou dans un sous-répertoire? –

+1

Oui, tous les fichiers du repo appartiennent au répertoire personnel. – rich

Répondre

28

Cela semble fonctionner:

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

Après cela, vous avez le projet dans le répertoire /home/username/repo/

Si vous voulez avoir le projet dans un nom de dossier différent (par exemple, « foo/»)

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

Je veux le vérifier dans le répertoire personnel. – rich

1

Je clonez le référentiel dans un sous-répertoire:

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

Et créez des liens symboliques vers les fichiers de configuration:

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

Ce serait un cauchemar à faire pour chaque fichier dans le rapport pour chaque machine sur laquelle je veux cloner. – rich

+1

Bien sûr, mais vous créez un script shell pour cela aussi. [Exemple Github] (https://github.com/Mytho/dotfiles/blob/master/setup.sh) –

2

La commande clone crée un nouveau répertoire lorsque vous passez un second argument:

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

clone va créer ~/your_directory. Si le répertoire existe déjà, il vous donnera l'erreur que vous obtenez.

+0

Assez. Alors, comment puis-je le forcer à travailler? – rich

+0

@rich donne simplement un nom de répertoire comme dans mon exemple ou fait 'cd ~ && git clone ssh: // hôte/repo.git' – ouah