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

Czy ktoś może mi powiedzieć, jak to zrobić? Próbuję szybko replikować typowe skrypty i konfigurację dev.git clone do katalogu domowego

+1

'git clone' wygląda albo utworzyć nowy katalog w ścieżce roboczej lub w określonej lokalizacji. Ponieważ '~ /' już istnieje, nie może utworzyć nowego katalogu ... –

+1

Czy rzeczywiście chcesz pobrać cały katalog domowy z repozytorium git? Lub w podkatalogu? –

+1

Tak, wszystkie pliki w repozytorium należą do katalogu domowego. – rich

Odpowiedz

28

To wydaje się działać:

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

Po tym, masz projekt w katalogu /home/username/repo/

Jeśli chcesz mieć projekt w imieniu innego folderu (np „foo /”)

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

Chcę to jednak sprawdzić w katalogu domowym. – rich

1

bym sklonuj repozytorium do podkatalogu:

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

I utwórz dowiązania symboliczne do plików konfiguracyjnych:

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

To byłaby koszmarna robota dla każdego pliku w repozytorium dla każdej maszyny, którą chcę sklonować. – rich

+1

Oczywiście, ale możesz utworzyć skrypt powłoki również dla tego ... [Przykład Github] (https://github.com/Mytho/dotfiles/blob/master/setup.sh) –

2

Komenda clone tworzy nowy katalog, kiedy przechodzą drugi argument:

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

clone stworzy ~/your_directory. Jeśli katalog już istnieje, dostaniesz błąd, który otrzymasz.

+0

Całkiem. Więc jak zmusić go do działania? – rich

+0

@rich po prostu podaj nazwę katalogu jak w moim przykładzie lub wykonaj 'cd ~ && git clone ssh: // host/repo.git' – ouah