我正在使用Gedit,每次保存文件时,Gedit都会创建一个副本,副本的名称总是以〜结尾。问题是,Git总是试图跟踪这些文件,我不希望这样!有没有办法仍然能够使用git add .
,但只添加那些不以〜结尾的文件?
答案 0 :(得分:93)
gitignore是要走的路。只需在您的回购根目录中将*~
添加到.gitignore
。
答案 1 :(得分:46)
你想要一个gitignore file。
如果你想用一个代字号结尾(这应该是安全的;我无法想象一个合理的用例,哪个不好),请确保以下行在你的.gitignore
文件中repo文件夹层次结构的顶部:
*~
如果你也希望摆脱本地文件系统中存在的那些代字号文件,你可以。最好让Gedit将其备份文件放在其他地方。 JEdit和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结尾的文件。