1. 引言
大家都知道,.gitignore
文件可以防止未来的未跟踪文件被添加到 Git 的索引中。换句话说,当前被跟踪的文件仍然会被 Git 跟踪。
在这个教程中,我们将探讨在将文件添加到 .gitignore
之后,如何从 Git 索引中移除已跟踪的文件的不同方法。
2. 移除单个文件
为了移除单个文件,首先需要将文件名添加到 .gitignore
中,然后运行 git rm
命令并提交更改:
git rm --cached <filename>
git commit -m "<Message>"
第一个命令从索引中移除文件并暂存更改,而第二个命令将更改提交到分支。
3. 移除一个文件夹
通过先将文件夹名称添加到 .gitignore
中,然后运行 git
命令,可以移除整个文件夹:
git rm --cached -r <folder>
git commit -m "<Message>"
请注意,在命令中添加了 -\r
,否则命令会失败,显示如下:
fatal: not removing 'folder' recursively without -r.
4. 移除所有忽略的文件
这里我们移除当前 .gitignore
中被忽略的所有文件:
git rm -r --cached .
git add .
git commit -m "Removes all .gitignore files and folders"
第一个命令从索引中移除所有文件。第二个命令重新添加所有文件,但不包括 .gitignore
中的那些,最后的命令提交更改。经过这三个命令后,.gitignore
中的所有文件将从索引中移除。
5. 总结
在这篇文章中,我们探讨了三种从 Git 索引中移除已跟踪文件的方法。
以上操作不会从我们的机器上物理删除文件,但在其他开发者拉取更改后,这些文件将从他们的机器上移除。