我正在使用Gedit,每次保存文件时,Gedit都会创建一个副本,该副本的名称总是以~结尾。问题是,Git始终尝试跟踪这些文件,但我不想让它这样做!是否有一种方法仍然可以使用git add .
,但只添加那些不以~结尾的文件?
我正在使用Gedit,每次保存文件时,Gedit都会创建一个副本,该副本的名称总是以~结尾。问题是,Git始终尝试跟踪这些文件,但我不想让它这样做!是否有一种方法仍然可以使用git add .
,但只添加那些不以~结尾的文件?
gitignore 是一个好的选择。只需在你的仓库根目录下的 .gitignore
文件中添加 *~
即可。
~
文件(例如emacs)很麻烦。 - Tahir Hassan~
文件,我也会解释如何做到这一点。;^) 这样做并不意味着您没有保障。您只需要通过波浪线文件节省一次编辑,而当您已经在使用git时,这并没有太多实际帮助。话虽如此,@filmor比我早几秒钟就说OP应该使用.gitignore了。 - ruffin您需要一个gitignore文件。
如果您想要删除以波浪符结尾的所有内容(这应该是安全的;我无法想象出任何合理的用例,其中这是不好的),请确保以下行位于存储库文件夹层次结构顶部的 .gitignore
文件中:
*~
如果你也想摆脱本地文件系统中散落的波浪线文件,那么你可以这样做。最好让Gedit把备份文件放在其他地方。我使用最多的两个编辑器JEdit和VIm都有这样的设置,这样保持干净比加载gitignore更好。
不幸的是,Gedit没有这个选项。它能做的最好的就是关闭~
备份。 在你担心之前,最坏的情况是你会失去你保存之前的内容。 这不是最坏的情况--这就是你为什么要把它放在git repo里的原因,对吧?
注意:如果你想在本地保留带有~
后缀的文件,请保留。上面设置的.gitignore将防止你意外共享它们。
为了防止Gedit在未来创建这些备份,打开Gedit,打开首选项对话框(编辑>首选项),选择编辑器选项卡,在“保存前创建文件的备份副本”选项中取消勾选,并单击“关闭”。完成此操作后,Gedit将不再制作到处都是波浪线的备份。
补充一下@filmor所说的,您可以创建一个全局gitignore文件,以便所有存储库都会忽略备份文件:
git config --global core.excludesfile ~/.gitignore_global
这将告诉Git在您的$HOME路径中搜索.gitignore_global
文件,您可以在其中放置*~
规则。
补充答案:
如果您有带有扩展名的波浪线文件,例如Sketchup,它创建以“~.skp”结尾的备份文件,则需要在.gitignore文件中添加*~.skp
。 或者更改 skp
为您正在使用的软件的扩展名。 或者如果您确定所有以波浪线结尾的文件及其所有扩展名都可以安全忽略,则使用*~.*
。
.gitignore
文件,而不是直接编辑纯文本文件 .git/info/exclude
呢?"当决定是否忽略一个路径时,git 通常会从多个来源检查 gitignore 模式" https://www.kernel.org/pub/software/scm/git/docs/gitignore.html
如果在你的 git 存储库的 .git/info/exclude
文件中添加 *~
到一行中,Git 将忽略该模式和所有以波浪线结尾的文件。