2011-05-13 26 views
5

當我使用msysgit克隆回購文件時,文件名中包含空格的所有文件都沒有關閉,然後在狀態中顯示爲已刪除。如何克隆文件名中含有冒號的文件

文件名看起來像這樣:styles-ie (1:12:11 6:02 PM).css所以它可能實際上是冒號或括號?

如何獲取這些文件以將我的本地回購內容與內聯聯繫起來?

+3

根據http://support.microsoft.com/kb/177506在Windows上冒號是無效的文件名字符。那麼這是否意味着我無法將文件克隆/獲取到Windows系統或者是否有一些文件名翻譯? – 2011-05-13 13:33:58

+0

我建議你改變文件名。 – Jeremy 2011-05-13 13:35:07

+2

更準確地說,我相信你不能*檢出*文件。表示它的對象(blob)存在於你的倉庫中,並且它是作爲克隆或獲取的一部分進行傳輸的,但是當Git試圖將該文件寫入工作樹時,Windows將不會允許它。 – Cascabel 2011-05-13 13:45:14

回答

9

如果你嘗試做:

touch "styles-ie (1:12:11 6:02 PM).css" 

你會看到,你不能在Windows上創建它。

基本上,回購有文件(BLOB和樹條目),但你無法在Windows上籤出,因爲GIT將無法創建這樣的文件。除了更改文件名之外別無他法。

+0

非常感謝,因此具有非Windows系統上的repo克隆的用戶需要更改文件名並推送,以便我可以讀取它,對吧? – 2011-05-14 01:49:04

+0

@Jonathan Day--是的,情況就是這樣。 – manojlds 2011-05-14 01:51:01

0

您可以在Linux環境中克隆回購,將其設置並複製到Windows,然後使用7zip等工具在Windows上解壓。 7zip將用下劃線代替冒號,並保留所有的git信息。只要該文件沒有改變,你就會全部放置一段時間。這些文件往往不會有太大變化(例如,我有一箇中間有冒號的證書文件)。