[英]How do I .ignore files with Git GUI?
我在.git文件夾的文件夾中創建了一個.gitignore文件,但在重新掃描存儲庫時,我仍然會收到我試圖忽略的文件。
這是文件的內容。
# Ignored files
*.suo
*.user
bin
obj
*.pdb
*.cache
*_svn
*.svn
*.suo
*.user
*.build-res
TestResults
_ReSharper*
我究竟做錯了什么? 假設位於何處?
您需要確保您仍然看到的文件當前未提交或暫存。
如果你刪除它們( git rm
或git rm --cached
),然后將它們添加為私有文件,那么它們將被忽略。
你的檔案看起來不錯。 只要確保你在每行的開頭都沒有任何空格,我花了4個小時才找到為什么我的.gitignore工作不正常; 原因當然是cut'n'paste問題,我在文件的開頭有一個垂直的空格行。
在確保你的.gitignore文件真正清除你不想要的一切之前,你應該小心使用git commit -a
。 使用git add *.cpp *.h
標記每個文件(或使用通配符)或者 - 比如我更喜歡 - 在進度時開發你的.gitignore,並在提交前始終檢查git status
。
如果你想仔細檢查你的.gitignore是否真的有用, 試試吧
git ls-files --others -i --exclude-standard
這應該列出您當前忽略的所有文件。
要清理你已經添加的文件(可能是使用git add .
,我們在開頭犯了一個錯誤=])你可以像@VonC那樣說:要么運行
git rm <filename>
要么
git rm --cached <filename>
清除所有無意添加的文件的另一個選擇是徹底清理存儲庫,然后重新添加所有文件。 如果要清除暫存區域中的所有內容, 可以運行
git --rm cached .
但請記住不要運行git add .
直到你確定git status只列出你真正想要的文件庫。
git的另一個非常有用的功能是它在使用通配符時不需要文件路徑。 如果列出被忽略的文件並看到要刪除所有*.suo
和*.log
文件,只需運行即可
git rm --cached *.suo *.log
並且git負責查找存儲庫中與該簽名匹配的所有文件,無論它們位於樹中的哪個位置。
我嘗試了多種方法讓它工作,最后很簡單:
你必須先提交.gitignore!
此外,如果您使用TortoiseGIT - GitEx提交工具,則可以選擇編輯被忽略的文件。
你找對了。 .gitignore應該位於同一個文件夾中,其中.git文件夾位於。 里面的文件也看起來正確。 但是,我頂部沒有評論專線..
當我看到這個時,我會認為你忘了提交你的忽略文件。
沒有--rm緩存解決方案適合我。 該文件需要編碼為ASCII / ANSI。 我也改變了行結尾,但僅此一點並沒有修復它。 我找不到有這些說明的網址(對不起,原創海報!)但這對我有用:
從windows或git命令提示符中的命令提示符,無論你喜歡什么,當你執行git status時,它不應該在.gitignore中顯示文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.