2012-04-17 25 views
2

我運行這個混帳拉命令,它扼流圈對Unicode文件名混帳拉:不能對Unicode分離HEAD檔案名稱

& git pull 
From . 
    * branch   master  -> FETCH_HEAD 
First, rewinding head to replay your work on top of it... 
error: The following untracked working tree files would be overwritten by checkout: 
    test-sample-files/MByte/CJK-UTF8-MultiByte/樣品套裝/サンプル.java 
    test-sample-files/MByte/CJK-UTF8-MultiByte/樣品套裝/의 견본을 뽑다.java 
    test-sample-files/MByte/japanese/これはサンプルのテストであり、できるだけ早く修正する必要があります.java 
    test-sample-files/MByte/japanese/サンプル.java 
    test-sample-files/MByte/korean/의 견본을 뽑다.java 
Please move or remove them before you can switch branches. 
Aborting 
could not detach HEAD 

但是混帳狀態報告乾淨的工作目錄

$ git status 
# On branch dev/experimental 
# Your branch and 'master' have diverged, 
# and have 3 and 96 different commit(s) each, respectively. 
# 
nothing to commit (working directory clean) 

沒有「git add」或「git reset」或「rm ... *」確實可以解決這種情況。任何幫助深表感謝。

P.S .:我在Mac OS X Leopard(10.5)上運行「git version 1.7.5.4」,這是我可以找到的最新的預編譯版本。

+1

哇。你真的可以有一個名爲의견본을뽑다的類嗎?這很酷。 – 2012-04-17 22:17:03

回答

2

您的文件在您的工作樹的當前狀態下未跟蹤。這就是爲什麼git addgit rm沒有做任何事情。

git stash save --untracked藏起來,它們會被保存在一個藏匿處。拉動後,您可以使用git stash pop進行恢復,但由於拉可能會在可能的不同內容中檢查主題,因此您可能會發生衝突。

既然你堅持使用Git 1.7.5 stash不知道--untracked選項,這樣你就可以

  • 舉動未跟蹤文件到一個臨時目錄,並恢復他們:

    git ls-files --other --exclude-standard | xargs -t -I file mv file untracked 
    
  • 或用git add -u添加它們,並提交

+0

感謝Charles,不幸的是,mu版本的git沒有存儲--untracked的選項。 – 2012-04-18 12:05:01

+0

這太糟糕了,您可以嘗試使用[howebrew]安裝1.7.10(http://mxcl.github.com/homebrew/) – CharlesB 2012-04-18 12:24:02