2012-10-08 65 views
1

所以我試圖改變分支,我也得到:的Git結帳文件中刪除懵懵懂懂

error: The following untracked working tree files would be overwritten by checkout: 
env/local/include 
    # many more files 
env/local/lib 
Please move or remove them before you can switch branches. 
Aborting 

所以我嘗試git rm -r --cached .通過stackoverflow.com/ignoring-a-directory-from-a-git-repo-after-its-been-added

的建議,我也得到:

fatal: pathspec 'env/' did not match any files 

我我嘗試了各種其他的途徑。有或沒有文件?如果是這樣,我怎麼能讓git忽略它們?

感謝

回答

1

git rm -r --cached .將工作已添加到索引文件。
但是,如果你還沒有添加env/,你可以考慮添加env/和藏匿它(如in this question)。

其他要素需要注意的:

+0

整個/ env的文件是'.gitignore',這應該意味着它不被索引權的尊重?我不知道爲什麼這是一個問題,如果他們被忽略。感謝您的答覆。 – KindOfGuy

+1

@KindOfGuy如果他們不在索引中已經添加(在的.gitignore註冊前),然後我確認一個git RM --cached將無法正常工作(因爲它們不再索引,即「緩存」 )。但是,它們可能已添加並在您想要簽出的其他分支中提交,在這種情況下,目標分支中的版本化元素會擦除當前分支中的本地文件,因此會顯示警告/錯誤消息。 – VonC

+0

對不起,我不明白最後一部分。我認爲他們已經在另一個分支中加入並投入使用,但我不希望他們在這個分支中進行跟蹤。但爲什麼我不能結賬?當然,兩個分支之間的差異應該不重要,我可以從另一個分支中找出事物,直到我需要合併爲止。 – KindOfGuy