我如何告诉git忽略以波浪号开头的文件?

我如何告诉git忽略以波浪号开头的文件?,git,gitignore,Git,Gitignore,“我的文本编辑器”创建以平铺开头的交换文件。我不小心把其中的一个签入git。我如何告诉git忽略项目树中任何类似的文件 所以我有 /folder/another/file.txt /folder/another/~file.txt 我希望git忽略~file.txt。只需使用.gitignore文件: echo '~*' >> .gitignore 或者,您也可以将此行写入.git/info/exclude,这是一个项目范围的本地忽略文件(您显然无法签入该文件,因为您可以使用.g

“我的文本编辑器”创建以平铺开头的交换文件。我不小心把其中的一个签入git。我如何告诉git忽略项目树中任何类似的文件

所以我有

/folder/another/file.txt
/folder/another/~file.txt

我希望git忽略
~file.txt

只需使用.gitignore文件:

echo '~*' >> .gitignore
或者,您也可以将此行写入
.git/info/exclude
,这是一个项目范围的本地忽略文件(您显然无法签入该文件,因为您可以使用
.gitignore

这将附加所需的条目

否则手动编辑
.gitignore
文件,并在新行中添加
~*

  • 首先检查git是否将您的文件添加到跟踪文件中

    git状态

  • 是吗?因此,从git中删除文件或文件夹

    git rm --cached <file-name> or git rm -r --cached <folder-name>
    

    这就是所有的人

    你试过明显的吗?将
    ~*
    添加到.gitignore。这似乎有效。我认为.gitignore文件只适用于根目录。但这似乎确实会导致我的文件树中任何地方的此类文件被忽略。@StephenOstermiller:它适用于它所在的目录(以及其中的任何目录)。所以
    /folder/a/.gitignore
    /folder/b/
    下面的任何内容都没有影响,但它会影响
    /folder/a/sub/file.txt
    。因此,基于这一点,我似乎必须在我的其他规则前面添加斜杠,因为我希望它们只应用于顶级目录,而不是递归地。@StephenOstermiller:是的,我不是从你的作品中得到的。不,直到我得到你的答案,我才意识到这是gitignore的工作方式。我很确定这与cvsignore和subversion忽略工作的方式不同。
    git rm --cached <file-name> or git rm -r --cached <folder-name>
    
    echo '.~*' >> .gitignore