cf push 是否尊重 .gitignore 的使用?

Does cf push respect the use of .gitignore?

我正在使用下面的 .gitignore 文件,希望当我推送我的应用程序时,tmp 目录和交换文件将被忽略。不过这并没有发生,现在我想知道 cf push 是否考虑过 .gitignore?

*.swp
tmp/

有谁知道 cf push 是否考虑了 .gitignore 文件?

我发现 cf push 不使用 .gitignore,而是使用它自己的名为 .cfignore 的文件,该文件必须放在您正在推送的应用程序的根目录中。

.cfignore.gitignore 的规则似乎相同。 (每行一个模式)但是由于 .cfignore 文件必须位于应用程序的根目录中,因此文件中的模式必须考虑到这一点。

使用上面的文件,我现在可以在没有所有 .swp 文件或 <application-root>/tmp 目录中的任何内容的情况下推送我的应用程序。

文件 .cfignore 用于此目的 -- 它与 .gitignore 不同,而是类似于 cf 工具。

不将它们用于相同目的的原因是,例如,您可能拥有用于构建(甚至源代码!)的文件,这些文件转到 Git 而不是 Bluemix 运行时,或者,其他文件,如将与应用程序一起部署但仍未转到 Git 的凭据或配置。 (您可以使用 .cfignore 来排除第一组,而在其他情况下使用 .gitignore。)