Symfony 的 'bin' 目录应该被 Git 忽略吗?

9
在具有对Doctrine的需求的Symfony标准版应用程序中运行composer install将添加一个名为“bin”的文件夹。该文件夹在composer.json中进行配置:
"config": {
    "bin-dir": "bin"
}
.gitignore文件随Symfony标准版一起提供,其中包括该目录(导致git忽略该目录及其所有内容)。似乎'bin'文件夹只包含指向' vendor '文件夹内文件的链接。这让我想到,忽略该文件夹并让Composer处理它是一个好主意。
然而,GitHubSymfony文档中的示例.gitignore都不包括'bin'。实际上,在官方Symfony文档中,我无法找到关于该目录的任何信息,包括是否建议将其排除在版本控制之外。
确实建议让git忽略此目录及其内容,并且Symfony的文档是否不是最新的?
2个回答

17

Symfony 3及以上版本

在Symfony 3标准版中,bin目录的用途略有改变。来自Composer包(如phpunit)的二进制文件不再安装在bin目录中,而是安装在vendor/bin目录中。相反,bin目录包含了console和一些其他随Symfony骨架提供的二进制文件。

由于这些文件应该提交到您的Git仓库中,因此您不应再将bin目录添加到.gitignore文件中。


7

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

确实建议让git忽略此目录及其内容,而Symfony的文档是否只是没有更新?

确实如此。 bin 目录与 vendor 目录相同,这取决于您的要求。应该忽略它。除非您要在其中放置自定义文件(例如,将 app/console 移动到 bin/symfony),那么除了这些自定义文件之外,它应该被忽略。

GitHub上的 Symfony2.gitignore 文件最后更新于2年前。在这2年中,发生了很多事情(例如使用Composer与Symfony2)。我不建议将其用作示例。

文档确实没有更新,如果您在文档中点击“编辑”按钮,则可以自行更新文档。如果您这样做,我会非常高兴! :)


谢谢确认。我会在这个周末抽时间发送一个更新文档的拉取请求! - Nic Wortel
我刚刚提交了拉取请求 - 请查看 https://github.com/symfony/symfony-docs/pull/3827 - Nic Wortel
5
供日后参考:请注意,Symfony标准版2.5版本提供了略微改进的目录结构,其中 app/console 确实移动到了 bin 文件夹中。 正如Wouter已经提到的那样,您不想忽略 console 文件(或随此新目录结构一起提供的 symfony_requirements 文件)。 显然,这个新目录结构还附带了一个修改后的 .gitignore 文件,因此您不必担心它。 - Nic Wortel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接