据我所知,.gitignore让git忽略那些与项目“无关”的文件,这些文件就在你的硬盘里,无论你如何使用git都不会受到影响。
然而,最近当我使用gitea和它的gitignore模板时,我遇到了这种看起来相当危险的情况:
- .dll不知何故被添加到.gitignore,因此当我从服务器克隆我的项目到我的新设备,这些dll消失了,项目变得无法使用。(幸运的是,我仍然有我的旧设备上的副本)
看起来gitea的忽略模板并不是100%安全的,但是我自己也不知道哪些文件可以安全地忽略,目前我只能把.gitignore留空。
那么.gitignore的正确用法是什么呢?
1条答案
按热度按时间h7appiyu1#
有3个相关的忽略文件:
.gitignore
应该忽略由你的项目的正常构建所构建的 * 所有 * 文件,因为模式对于每个使用你的项目的人来说都是相同的(但是在不同的项目之间是不同的)。这显然包括DLL,因为构建的文件(无论是你的还是你的依赖项的)永远不会被提交到你的仓库--它们属于你的打包系统。yacc
,则YACC.y
文件可以生成.c
文件,如果安装了autotools,则configure.ac
可以生成configure
文件~/.config/git/ignore
应该忽略任何编辑器备份文件,因为这些文件是特定于您使用的任何编辑器的,而不是特定于项目的。.git/info/exclude
应该忽略你在一个特定的项目中所丢弃的一次性的东西。我倾向于把它用于临时目录。但是要注意,无论子git仓库是不是子模块,它总是被忽略的。.gitignore
粘贴在子目录中是 * 可能的 *;说.gitignore
会忽略它自己,IIRC有一些git子命令不遵守这个规则吗?