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

Nic*_*tel 5 gitignore symfony

composer install在需要Doctrine的Symfony Standard Edition应用程序中运行时,将添加一个名为"bin"的文件夹.该文件夹配置为composer.json:

"config": {
    "bin-dir": "bin"
}
Run Code Online (Sandbox Code Playgroud)

Symfony标准版附带.gitignore文件包含目录(导致git忽略目录及其所有内容).看起来'bin'文件夹只包含指向'vendor'文件夹内文件的链接.这让我觉得忽略文件夹并让Composer处理它是个好主意.

然而,例如.gitignoreş 从GitHub在Symfony的的文档不包括"本".事实上,我根本无法在官方的Symfony文档中找到这个目录,包括是否建议将其保留在版本控制之外.

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

Nic*_*tel 9

Symfony 3

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

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


Wou*_*r J 6

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

确实如此.该bin目录与供应商目录相同,具体取决于您的要求.应该忽略它.除非您要在其中放置自定义文件(例如,您移动app/consolebin/symfony),否则应该忽略它们,除了那些自定义文件.

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

文档确实不是最新的,如果你点击文档中的"编辑"按钮,你可以自己更新它.如果你这样做,我会很高兴的!:)

  • 供将来参考:请注意,Symfony标准版2.5版提供了略微增强的目录结构,其中`app/console`确实被移动到`bin`文件夹.正如Wouter已经提到的,你不想忽略`console`文件(或者这个新目录结构附带的`symfony_requirements`文件).显然,改变的.gitignore文件也带有这个新的目录结构,所以你不必担心它. (4认同)