如何从 Git 中删除文件,而不将其从文件系统中删除?
要从Git中删除文件而不从文件系统(本地目录)中删除它,你可以使用git rm
命令的--cached
选项。这个选项告诉Git停止跟踪指定的文件,但不从工作目录中删除文件。这通常用于将文件添加到.gitignore
中,以防止将来错误地将其提交到仓库中。
命令示例
假设你有一个名为example.txt
的文件,已经被Git跟踪,现在你想从Git仓库中删除它,但保留在本地文件系统中,你可以这样做:
git rm --cached example.txt
这条命令会从当前的暂存区(索引)中移除example.txt
,但文件在你的工作目录中仍然存在。
后续步骤
- 更新
.gitignore
:在执行上述命令后,你可能想要将该文件或文件模式添加到.gitignore
文件中,以确保这个文件在未来的提交中不会被包含。echo "example.txt" >> .gitignore
- 提交更改:移除文件操作和更新
.gitignore
文件后,你需要提交这些更改到你的仓库。git add .gitignore git commit -m "Stop tracking example.txt"
这样,example.txt
就会从Git仓库中删除(即不再被跟踪),但仍然保留在你的文件系统中,而且未来的提交也不会再包含这个文件。