让git忽略vim在所有目录中生成的临时文件的正确方法是什么(无论是跨系统全局的还是单个项目的本地的)?
当前回答
这应该只针对每个用户进行,而不是针对每个存储库。如果Joe使用emacs,他希望忽略emacs备份文件,但是Betty(她使用vi)希望忽略vi备份文件(在许多情况下,它们是相似的,但是存在大约24,893个常见的编辑器,试图忽略所有不同的备份扩展名是非常荒谬的)。
换句话说,不要把任何东西放在。gitignore或core中。在$GIT_DIR/config中排除。把信息放在$HOME/。改用Gitconfig(如nonopolonia建议的使用——global。)注意,“全局”指的是每个用户,而不是每个系统。
如果您希望为所有用户在整个系统中进行配置(实际上并不是这样),那么您将需要一种不同的机制。(可能在初始化存储库之前设置模板。)
其他回答
正如Alex Moore-Niemi所指出的,这适用于Mac:
set backupdir=$TMPDIR//
set directory=$TMPDIR//
确保使用TMPDIR而不是TEMPDIR。
或者,您可以配置vim以将交换文件保存到单独的位置, 例如,在你的.vimrc文件中添加如下代码行:
set backupdir=$TEMP//
set directory=$TEMP//
有关更多信息,请参阅这个vim技巧。
如果您正在使用源代码控制。Vim临时文件非常无用。 因此,您可能希望配置vim不创建它们。
只需编辑您的~/。Vimrc并添加这些行:
set nobackup
set noswapfile
肯定的是,
只需要创建一个“。Gitignore”在项目的主目录上 并且必须控制
*.swp
就是这样
在一个命令中
project-home-directory$ echo '*.swp' >> .gitignore
这应该只针对每个用户进行,而不是针对每个存储库。如果Joe使用emacs,他希望忽略emacs备份文件,但是Betty(她使用vi)希望忽略vi备份文件(在许多情况下,它们是相似的,但是存在大约24,893个常见的编辑器,试图忽略所有不同的备份扩展名是非常荒谬的)。
换句话说,不要把任何东西放在。gitignore或core中。在$GIT_DIR/config中排除。把信息放在$HOME/。改用Gitconfig(如nonopolonia建议的使用——global。)注意,“全局”指的是每个用户,而不是每个系统。
如果您希望为所有用户在整个系统中进行配置(实际上并不是这样),那么您将需要一种不同的机制。(可能在初始化存储库之前设置模板。)
推荐文章
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- 强迫自己掌握vi的最好方法是什么?
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 如何回到行之前编辑的最后一个在Vim?
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git