[英]Why does git ignore all files in a directory except one?
我知道有很多關於如何忽略目錄的問題,直到現在我通常都沒有遇到任何問題,但現在我遇到了一些我不理解的問題。
這是我的目錄結構:
/src
/war
com.example.MyProject/
WEB-INF/
classes/
deploy/
lib/
我想忽略目錄classes/
, deploy/
和com.example.MyProject/
,這里是我的.gitignore文件:
*.log
war/WEB-INF/classes/
war/WEB-INF/deploy/
com.example.MyProject/
com.example.MyProject/
下的文件是自動生成的,除了名為com.example.MyProject.nocache.js
的文件外,git忽略所有文件。 事實上,當我做git status
我得到:
# On branch myBranch
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: .gitignore
# ......
# modified: war/com.example.MyProject/com.example.MyProject.nocache.js
為什么git拒絕忽略該目錄中的單個文件? 我究竟做錯了什么?
如果Git已經在跟蹤文件,則將文件添加到.gitignore
不會阻止Git跟蹤它。 您需要執行git rm --cached <file>
以將文件保留在樹中,然后忽略它
如果文件已經添加到索引中,即使將其添加到.gitignore
文件中,它仍將保留在那里。
嘗試從git索引中刪除該文件:
git rm --cached war/com.example.MyProject/com.example.MyProject.nocache.js
--cached
選項確保文件保留在您的文件夾中,並且只是從索引中刪除
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.