2011-09-05 93 views
0

我有以下通過ssh git的克隆創建一個本地回購,而不是遠程回購

[email protected] ~/Documents/myproj$ll 
total 8 
drwxr-xr-x 13 punkish staff 442 Sep 5 15:13 .git/ 
-rw-r--r-- 1 punkish staff 193 Sep 5 13:28 foo.pl 
[email protected] ~/Documents/myproj$git clone --bare . ssh://[email protected]:2200/~/Repos/myproj/ 
Cloning into bare repository ssh://[email protected]:2200/~/Repos/myproj... done. 
[email protected] ~/Documents/myproj$ll 
total 8 
drwxr-xr-x 13 punkish staff 442 Sep 5 15:13 .git/ 
-rw-r--r-- 1 punkish staff 193 Sep 5 13:28 foo.pl 
drwxr-xr-x 3 punkish staff 102 Sep 5 15:20 ssh:/ 
[email protected] ~/Documents/myproj$ 

呵呵!那裏發生了什麼?而不是通過ssh端口2200在遠程計算機上創建裸露的repo,它在我的筆記本電腦上的當前目錄中正確創建。我在做一些愚蠢的事情,但對我來說並不明顯。

+1

git不這樣做;您將需要登錄到遠程機器以在那裏創建存儲庫。 – geoffspear

回答

4
ssh -p 2200 [email protected] 'mkdir -p ~/Repos/myproj && cd ~/Repos/myproj && git init --bare' 
git remote add origin ssh://[email protected]:2200/~/Repos/myproj/ 
git push origin master 

應該工作。至少這是這個想法:登錄到遠程並創建裸倉庫。然後在本地機器上添加新創建的裸倉庫作爲遠程並推送您喜歡的所有內容。

但是,您也可以創建存儲庫的本地克隆,然後使用scprsyncrsync等將您的整個文件夾複製到遠程。

+0

是的,這是有效的。謝謝。 – punkish