2013-08-05 43 views
0

當我使用命令Git的告訴我,同樣的文件被跟蹤,並不會跟蹤取決於我用

git的狀態

我給所有的列表文件和目錄未兵跟蹤

.idea/ 
src/main/java/edu/mason/insf/ann/annUML.uml 
target/ 

然而,當我嘗試檢出到另一個分支,但告訴我:

error: The following untracked working tree files would be overwritten by checkout: 

     target/classes/... 

並繼續列出我的目標文件夾中的一堆文件(未被跟蹤)。

當我試圖刪除文件反正買使用或者

git rm target/classes/... 

git checkout target/classes 

我提示以下錯誤

fatal: pathspec 'target/classes/...' did not match any files. 

Git是根本告訴我同一個文件正在被跟蹤,而不是被同時跟蹤。它不會讓我從我的工作樹中刪除文件,它也不會讓我切換分支,因爲對未跟蹤文件的更改可能會被覆蓋。

有人可以解釋發生了什麼?

+0

你的標題暗示git告訴你某個文件正在被跟蹤。我在您的問題中看不到任何錯誤消息,表明這一點;該錯誤消息指出:'以下** untracked **工作樹文件將被覆蓋。「(強調我的。)歡迎您從工作樹中刪除它們,但由於它們沒有被跟蹤,所以不能使用'git rm'來完成它。 –

回答

2

這些文件不會在當前已簽出的承諾跟蹤,但在提交追蹤你試圖退房。 Git不知道你的未跟蹤副本是否有變化,這是非常重要的,所以它拒絕在提交中使用副本來打亂它們。

git rm失敗,因爲它對索引中的跟蹤文件進行操作。這些文件未跟蹤,因此不在索引中,因此無法對它們進行操作。

要解決此問題,確認你並沒有在其中,你想保留任何更改後取出使用rmgit rm)的文件。