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

时间:2012-08-06 13:54:07

标签: git

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

5 个答案:

答案 0 :(得分:93)

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

答案 1 :(得分:46)

你想要一个gitignore file

如果你想用一个代字号结尾(这应该是安全的;我无法想象一个合理的用例,哪个不好),请确保以下行在你的.gitignore文件中repo文件夹层次结构的顶部:

*~

如果你希望摆脱本地文件系统中存在的那些代字号文件,你可以。最好让Gedit将其备份文件放在其他地方。 JEdi​​t和VIm,我最常用的两个编辑器,have such settings,除了加载gitignore之外,将其保存在其他地方要清楚得多。

不幸的是,Gedit没有这个选择。它可以做的最好是关闭~备份。 在您担心之前,最糟糕的情况是您丢失了文件immediately before you saved中的内容。这不是最坏情况 - 这就是为什么您在git repo中有这个,正确?

注意:如果要在本地保留~后缀文件,请执行此操作。您在上面设置的.gitignore将使您不会意外地分享它们。

You can turn off ~ suffixed backups like this

  

要防止Gedit将来创建这些备份,请打开Gedit,打开“首选项”对话框(编辑>首选项),选择“编辑器”选项卡,删除“保存前创建文件的备份副本”中的复选框选项,然后单击关闭。完成此操作后,Gedit将不再使用波浪线进行备份。

答案 2 :(得分:6)

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

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

这将告诉git在$ HOME路径中查找.gitignore_global文件,您可以在该文件中放置*~规则。

答案 3 :(得分:1)

只需补充答案即可:
如果您有带有扩展名的波浪号文件(例如Sketchup),该文件会创建以“〜.skp”结尾的备份文件,则需要在.gitignore文件中添加*~.skp更改skp,以更改所用软件的扩展名。 或者如果确定可以安全地忽略所有以tilde结尾且带有所有扩展名的文件,请使用*~.*

答案 4 :(得分:0)

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

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