2013-05-28 157 views
3

Git的狀態報告未跟蹤文件:Git的狀態報告的跟蹤文件未經跟蹤

$ git status 
# On branch master 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# resource.enlighten/map/enlighten_test/.enlighten/__build_object__/geometry/land_9/processed/ 
nothing added to commit but untracked files present (use "git add" to track) 

但我們必須在索引文件:

$ git ls-tree -r HEAD |grep land_9/processed/root.pim 
100644 blob 9eeca5c75dc2c945600b6e0d253a8cb8191b7e80 resource.enlighten/map/enlighten_test/.enlighten/__build_object__/geometry/land_9/processed/root.pim 

我已經檢查這個錯誤出現在第一次提交後,即添加了這個文件。

我曾嘗試:

  1. 克隆回購。
  2. 清理/檢出文件(如this文章中所述) - 檢出後未檢測到相同的狀態。
  3. 將完整目錄resource.enlighten /複製到另一個回購並添加提交 - 無錯誤。
  4. 運行git fsck - 沒有錯誤。

Git版本1.8.1.2。

謝謝你的任何想法。

P.S.這種情況在Git for Windows 1.8.3中得到修復。

+0

奇怪。請注意,未跟蹤的「文件」實際上是一個目錄,Git不會跟蹤它,除非它包含內容。 –

+0

我知道上一次遇到這個問題時,有人提交了兩個文件,只有在Linux中才有所不同。然後他們試圖從Mac訪問回購(不區分大小寫的文件系統)。 – TheBuzzSaw

+0

processed/root.pim是一個文件。 –

回答

0

這種情況在Git for Windows 1.8.3中修復。

1

Mac上的大小寫不敏感是一個問題。您可以嘗試

git config core.ignorecase true 

如果爲true,此選項允許在不同的解決方法,使GIT中 更好的工作,對不區分大小寫,如FAT文件系統。例如,如果一個目錄列表在git需要 「Makefile」時發現「makefile」,git會認爲它確實是同一個文件,並且繼續 將它記爲「Makefile」。

+0

它沒有幫助。 –