71

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

4

5 回答 5

101

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

于 2012-08-06T13:56:52.923 回答
58

你想要一个gitignore 文件

如果您想对以波浪号结尾的所有内容进行核对(这应该是安全的;我无法想象这是不好的合理用例),请确保以下行位于您.gitignore的 repo 文件夹层次结构顶部的文件中:

*~

如果您还想摆脱本地文件系统中的那些波浪号文件,您可以。最好让 Gedit 将其备份文件放在其他地方。我最常使用的两个编辑器 JEdit 和 VIm都有这样的设置,将它们保存在其他地方比加载 gitignore 更干净。

不幸的是,Gedit 没有这个选项。它可以做的最好的事情就是关闭~备份。在您担心之前,最坏的情况是您在保存. 这不是最坏的情况——这就是你在 git repo 中得到这个的原因,对吧?

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

您可以像这样关闭~带后缀的备份

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

于 2012-08-06T13:57:32.780 回答
6

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

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

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

于 2015-04-13T16:18:57.447 回答
1

只是补充答案:
如果您有带有扩展名的波浪号文件,例如 Sketchup,它会创建以“~.skp”结尾的备份文件,那么您需要添加*~.skp您的 .gitignore 文件。或者更改skp您正在使用的软件的扩展名。或者*~.*,如果您确定所有以波浪号结尾且带有所有扩展名的文件都可以安全地被忽略,则使用此选项。

于 2019-08-19T18:14:23.277 回答
0

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

如果您在 git 存储库*~的文件中添加一行。.git/info/excludeGit 将忽略该模式和所有以波浪号结尾的文件。

于 2014-01-04T00:06:05.183 回答