让git忽略vim在所有目录中生成的临时文件的正确方法是什么(无论是跨系统全局的还是单个项目的本地的)?
当前回答
在我的情况下,临时文件已经被之前的操作提交了,所以修改.gitignore不会影响那些提交的文件…,你必须git rm files_to_be_ignored——先缓存,然后提交,然后DONE。
其他回答
在“git commit”之前退出vim。
要使vim使用其他文件夹作为备份文件(例如/tmp):
set bdir-=.
set bdir+=/tmp
要使vim停止使用当前文件夹的。swp文件:
set dir-=.
set dir+=/tmp
使用-=,+=通常会很好,因为vim对bdir, dir有其他默认值,我们不想全部清除。查看vim帮助以获得更多关于bdir, dir的信息:
:h bdir
:h dir
正如Alex Moore-Niemi所指出的,这适用于Mac:
set backupdir=$TMPDIR//
set directory=$TMPDIR//
确保使用TMPDIR而不是TEMPDIR。
如果您正在使用源代码控制。Vim临时文件非常无用。 因此,您可能希望配置vim不创建它们。
只需编辑您的~/。Vimrc并添加这些行:
set nobackup
set noswapfile
Vim临时文件以~结尾,因此可以在文件中添加.gitignore行
*~
Vim还创建了具有swp和swo扩展名的交换文件。要删除这些字符,请使用以下语句:
*.swp
*.swo
这将忽略单个项目中的所有vim临时文件
如果你想全局执行,你可以在家里创建一个.gitignore文件(你可以给它另一个名字或位置),并使用以下命令:
git config --global core.excludesfile ~/.gitignore
然后,您只需将想要忽略的文件添加到该文件中。
如果你想在Git文件中注释,你必须在单独的行中这样做:
# Ignore vim files:
*~
*.swp
*.swo
与活动git忽略放在同一行上的任何注释都将导致整行被错误解释。
或者,您可以配置vim以将交换文件保存到单独的位置, 例如,在你的.vimrc文件中添加如下代码行:
set backupdir=$TEMP//
set directory=$TEMP//
有关更多信息,请参阅这个vim技巧。
推荐文章
- 如何在git中找到原始/master的位置,以及如何更改它?
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- Vim:在可视模式下快速选择文本块的方法
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 在Android中创建临时文件
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头