我的.gitignore文件如下:
$ cat .gitignore
Index/
Index/LOG
Run Code Online (Sandbox Code Playgroud)
我将.gitignore文件添加到repo,commit甚至推送.但git status永久显示:
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: Index/LOG
#
Run Code Online (Sandbox Code Playgroud)
那么如何Index永远从git存储库中排除整个文件夹呢?
Git不会忽略跟踪的文件.您需要先从存储库中删除该文件,然后才能将其忽略:
$ git rm -r Index
$ git commit -m "Deleting 'Index' folder."
Run Code Online (Sandbox Code Playgroud)
这将删除文件.如果您只想从索引中删除它们--cached:
$ git rm -r --cached Index
Run Code Online (Sandbox Code Playgroud)
这将保留文件系统中的所有文件,并仅从git中删除它们.