如何让git跟踪所有以“〜”结尾的文件?

我正在使用Gedit,并且每次保存文件时,Gedit都会创build一个副本,副本的名称始终以〜结尾。 问题是,Git总是试图跟踪这些文件,而我不希望这样! 有没有办法仍然可以使用git add . ,但只添加那些不以〜结尾的文件?

你想要一个gitignore文件 。

如果你想用一个代字号来代替所有的结尾(这应该是安全的;我不能想象一个合理的使用情况,这是不好的),确保下面一行在你的.gitignore文件中的回购文件夹的顶部层次结构:

 *~ 

如果你还想摆脱在本地文件系统中的代字符文件,你可以。 最好让Gedit把备份文件放在别的地方。 我最常用的两个编辑器JEdit和VIm 都有这样的设置 ,而且把它们放在别的地方比把它们加载到gitignore上要干净得多。

不幸的是,Gedit没有这个select。 最好的办法是closures~备份。 在担心之前,最糟糕的情况就是在保存之前立即丢失文件中的内容。 这不是最坏的情况 – 这就是为什么你有这个在一个git回购,对吧?

注意:如果你想在本地保留~后缀的文件,请执行。 上面设置的.gitignore会使你不小心分享它们。

你可以closures后缀这样的后缀

为了防止Gedit将来创build这些备份,打开Gedit,打开Preferences对话框(Edit> Preferences),selectEditor选项卡,删除在保存前创build文件的备份副本选项,然后点击关。 做完这些之后,Gedit将不再使用备用的备份。

gitignore是要走的路。 只要将*~添加到您的回购的根目录.gitignore

要添加到@filmor所说的内容,您可以创build一个全局gitignore文件,以便所有的存储库都将忽略备份文件:

 git config --global core.excludesfile ~/.gitignore_global 

这会告诉git在你的$ HOMEpath中查找一个.gitignore_global文件,这是放置*~规则的地方。

为什么要在编辑纯文本文件.git/info/exclude时添加.gitignore文件呢? “当决定是否忽略path时,git通常会检查来自多个来源的gitignore模式” https://www.kernel.org/pub/software/scm/git/docs/gitignore.html

如果您将*~添加到您的git存储库中.git/info/exclude文件中的一行。 Git会忽略该模式和所有以tildes结尾的文件。