2010-05-04 115 views
1

我想克隆一個本地的git倉庫。 存儲庫的名稱包含一個`:'。這混淆了我和git。我得到以下錯誤:如何克隆名稱中包含`:'的本地git存儲庫?

~/work/c% git clone ../a::b . 
Initialized empty Git repository in /home/user/work/c/.git/ 
ssh: Could not resolve hostname ../a: Name or service not known 
fatal: The remote end hung up unexpectedly 

你會如何逃避`:'?現在我只是改變了名稱的原始資料庫的:-)

我使用zshell ...

+0

這不是一個zsh問題。 – ZyX 2010-05-04 13:07:10

回答

2

看來這應該是不可能的。如果您閱讀git-pull聯機幫助頁的Git URL部分,您會看到有一種特殊的語法將'::'用作分隔符。有關此<transport>::<address>構建的更多信息,請參見git-remote-helpers聯機幫助頁。

至於除此之外的一個解釋,看起來擴展發生在git中,而不是在zsh,bash或者你選擇的shell中。

+0

這可能是。下次,我會盡力讓我的Perl變得輕鬆...... – zshgit 2010-05-04 15:37:48

1

請問:

git clone -- ../a::b . 

git clone -- "../a::b" . 

git clone --local -- "../a::b" . 

效果更好?

  • '--'將強制git考慮../a::b。作爲路徑參數,而不是選項。
  • --local可能有助於使Git的使用權傳輸機制(一個簡單的本地副本)

只是可以肯定,你也可以使用colon character的八進制值嘗試:

git clone -- "../a\072\072b" . 
+0

不,我已經試過:-) 也許我需要改變我的外殼配置中的東西,以便它的工作? – zshgit 2010-05-04 11:46:01

+0

@zshgit:你在回購路徑之前添加了'' - ''嗎? – VonC 2010-05-04 11:48:00

+0

是的,' - '在那裏。我得到相同的原始錯誤。謝謝:-) – zshgit 2010-05-04 11:55:12

0

不知道,但也許與像龜龜這樣的UI客戶端它的作品?

它似乎混帳瞭解您的一個:: b類似主機名:端口...

您是否嘗試過用「」?

+0

mmh ..烏龜?也許我需要一些簡單的:-)。是的,似乎':'把它變成思考'hostname:port'。 我試過「blabla」和一個\:\:b ... 謝謝。 – zshgit 2010-05-04 11:52:41