如何永久删除“~”文件?

How to remove the '~' files forever?

每次我检查一个分支时,都会发生这种情况:

M   src/note/views.py~
D   src/static/assets/css/inside.css~
D   src/templates/index.html~
D   src/templates/note/create.html~
D   src/templates/note/list.html~
D   src/templates/note/unite.html~

这很烦人,让我恶心。如何永久删除这些文件?

您可能想忽略它们(这些是您的编辑编写的备份文件)。有一个 .gitignore 文件。

实际上 .gitignore 是我添加到全新 git 存储库的第一个文件

因此,编辑 .gitignore 以在一行中至少包含 *~(如果您有目标文件等,可能还有包含 *.o 的另一行)。然后

git add .gitignore

您也可以删除这些文件,例如使用 rm -vi **/*~rm -vi *~ */*~(或使用 find)- 或许也像 ,使用 git rm

它们可能根本不应该进行版本控制。使用 git rm 删除它们:

git rm src/note/views.py~

如果您只是不想让它们出现在 git 状态,请按照@basile 的建议将它们添加到 .gitignore

以下是删除 ~ 文件并避免再次发生这种情况的步骤,

  1. .gitignore 仅适用于未跟踪的文件,因此它对现有 ~ 文件没有帮助。 但是您应该在 .gitignore 文件中添加以下行以避免再次发生这种情况。

    *~
    *.swp
    
  2. 现在使用此命令从项目中删除所有 ~ 文件,

    find . -name "*~" -print | xargs rm
    
  3. 然后删除已添加到您的 git 存储库中的文件,

    git rm $(git ls-files --deleted)
    

然后提交您的更改。