【问题标题】:Should Symfony's 'bin' directory be ignored by git?git 是否应该忽略 Symfony 的“bin”目录?
【发布时间】:2020-01-07 06:23:36
【问题描述】:

在需要 Doctrine 的 Symfony 标准版应用程序中运行 composer install 将添加一个名为“bin”的文件夹。文件夹配置在composer.json:

"config": {
    "bin-dir": "bin"
}

.gitignore 文件 that comes with the Symfony Standard Edition 包含目录(导致 git 忽略目录及其所有内容)。似乎“bin”文件夹仅包含指向“vendor”文件夹内文件的链接。这使我认为忽略文件夹并让 Composer 处理它是个好主意。

但是,.gitignores from GitHubin Symfony's docs 示例不包含“bin”。事实上,我在 Symfony 官方文档中根本找不到关于这个目录的太多信息,包括是否建议将其排除在版本控制之外。

是否确实建议让 git 忽略此目录及其内容,Symfony 的文档是否根本不是最新的?

【问题讨论】:

    标签: symfony gitignore


    【解决方案1】:

    Symfony 3

    在 Symfony 3 标准版中,bin 目录的用途略有改变。 Composer 包中的二进制文件(例如phpunit)不再安装在bin 目录中,而是在vendor/bin 中。相反,bin 目录包含 consolesymfony_requirements 可执行文件(以及您自己添加的任何可执行文件)。

    因为这些文件应该提交到您的 Git 存储库,所以您的 .gitignore 文件中不应再有 bin 目录。

    【讨论】:

      【解决方案2】:

      编辑:此答案仅适用于 Symfony 2。对于 Symfony 3 及更高版本,请参阅下面的 Nic Wortels answer

      是否确实建议让 git 忽略此目录及其内容,Symfony 的文档是否根本不是最新的?

      确实如此。 bin 目录与供应商目录相同,这取决于您的要求。它应该被忽略。除非您要将自定义文件放入其中(例如,您将 app/console 移动到 bin/symfony),否则应该忽略这些自定义文件。

      来自 GitHub 的 Symfony2.gitignore 文件最近一次更新是在 2 年前。在那两年里,发生了很多事情(比如使用 Composer 和 Symfony2)。我不建议使用它作为示例。

      文档确实不是最新的,如果您点击文档中的“编辑”按钮,您可以自行更新。如果你这样做,我会很高兴的! :)

      【讨论】:

      • 感谢您的确认。这个周末我会花一些时间来发送一个包含文档更新的拉取请求!
      • 我刚刚提交了拉取请求 - 请参阅 github.com/symfony/symfony-docs/pull/3827
      • 供将来参考:请注意,Symfony 标准版的 2.5 版提供了略微增强的目录结构,其中app/console 确实移动到了bin 文件夹。正如 Wouter 已经提到的,您不想忽略 console 文件(或这个新目录结构附带的 symfony_requirements 文件)。显然,更改后的.gitignore 文件也带有这个新的目录结构,因此您不必担心。
      猜你喜欢
      • 1970-01-01
      • 2010-12-01
      • 2014-11-12
      • 1970-01-01
      • 2011-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多