簡體   English   中英

為什么git會忽略除一個目錄之外的所有文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM