正确的使用方法,gitignore?它有潜在的危险吗?

zsohkypk  于 2023-02-11  发布在  Git
关注(0)|答案(1)|浏览(145)

据我所知,.gitignore让git忽略那些与项目“无关”的文件,这些文件就在你的硬盘里,无论你如何使用git都不会受到影响。
然而,最近当我使用gitea和它的gitignore模板时,我遇到了这种看起来相当危险的情况:

  • .dll不知何故被添加到.gitignore,因此当我从服务器克隆我的项目到我的新设备,这些dll消失了,项目变得无法使用。(幸运的是,我仍然有我的旧设备上的副本)

看起来gitea的忽略模板并不是100%安全的,但是我自己也不知道哪些文件可以安全地忽略,目前我只能把.gitignore留空。
那么.gitignore的正确用法是什么呢?

h7appiyu

h7appiyu1#

有3个相关的忽略文件:

  • .gitignore应该忽略由你的项目的正常构建所构建的 * 所有 * 文件,因为模式对于每个使用你的项目的人来说都是相同的(但是在不同的项目之间是不同的)。这显然包括DLL,因为构建的文件(无论是你的还是你的依赖项的)永远不会被提交到你的仓库--它们属于你的打包系统。
  • 但是,对于生成的源文件存在争议。例如,如果安装了yacc,则YACC .y文件可以生成.c文件,如果安装了autotools,则configure.ac可以生成configure文件
  • ~/.config/git/ignore应该忽略任何编辑器备份文件,因为这些文件是特定于您使用的任何编辑器的,而不是特定于项目的。
  • .git/info/exclude应该忽略你在一个特定的项目中所丢弃的一次性的东西。我倾向于把它用于临时目录。但是要注意,无论子git仓库是不是子模块,它总是被忽略的。
  • 但是作为一种选择,将.gitignore粘贴在子目录中是 * 可能的 *;说.gitignore会忽略它自己,IIRC有一些git子命令不遵守这个规则吗?

相关问题