如何使用 .gitignore 删除(而不是忽略)特定文件?

How to remove (not ignore) specific files using .gitignore?

下面是我的项目结构图:

我想删除 Leapfrog.Datafetcher、Leapfrog.Test 和 src/LeapfrogDataService 下的 .vs 文件夹、packages 文件夹、.hgignore 文件以及 bin 和 obj 目录。

截至目前,我的 .gitignore 文件看起来像

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
packages
.hgignore

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio 2015 cache/options directory
.vs/

任何人都可以让我知道 .gitignore 文件中缺少什么或者我的路径有什么问题吗?

.gitignore 不会删除任何内容。它所做的只是在您尝试 git addgit commit 时忽略某些路径。如果文件已被 git 跟踪,将它们添加到 .gitignore 将阻止您对这些文件进行进一步更改(在 git 中),但不会删除现有历史记录。

如果您想从您的存储库中删除这些文件,您需要使用 git rm(或 git rm -r 递归删除目录及其内容)。