git - 如何从 git 中删除现有的版本控制文件

标签 git gitignore git-rm

我想避免我的 fabfile.py 在 git 中被版本化。

我做了这些步骤:

  1. 将文件复制到fabfile.default.txt文件作为备份
  2. 删除了 fabfile.py
  3. git rm --cached fabfile.py
  4. fabfile.py添加到.gitignore

然后提交删除的文件,包括 .gitignore 文件。

但是,如果我在本地再次创建我的 fabfile.py,它会再次出现在 git status 中。为什么?我在这里错过了一些步骤吗?现在觉得好傻

最佳答案

使用 git rm fabfile.pygit rm --cached fabfile.py 只会将其从索引中删除。 git rm 将从索引和工作树中删除它。然后像提交添加一样提交删除。

如果您想保留文件(并忽略它),请先将其备份到某处。 (如果有的话,我相信评论会提出一种更优雅的方式)

如果您想删除文件的所有历史记录,这是一项复杂得多的任务,最好避免。

参见 docs .

关于git - 如何从 git 中删除现有的版本控制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33694028/

相关文章:

Node.js node_modules 与 Linux/Unix 和 Windows 开发人员一起 checkin git?

php - 如何将 Composer 供应商文件夹提交到 Git 存储库中?

git - 忽略 git 中的目录链?

git - 忽略已经提交到 Git 存储库的文件

git rm 几个文件?

git - 获取 2 个指定提交哈希值之间的提交哈希值

在Eclipse中从本地导入git项目的Java代码

git - Visual Studio 2019 "Error encountered while pushing to the remote repository: Failed to push to the remote repository..."

windows - 如何在 MS Windows 下使用 Git 忽略 obj 文件夹

git - git-rm 工作树和索引是什么意思?