Php 在Laravel中,如何将所有供应商文件夹文件暂存到bitbucket?

Php 在Laravel中,如何将所有供应商文件夹文件暂存到bitbucket?,php,laravel,Php,Laravel,我已经在本地系统中安装了Laravel,并配置了本地环境,现在我想将项目上传到bit bucket服务器,但在供应商文件夹中有许多.gitignore文件可用 那么,如何将我的所有文件转移到服务器而不忽略任何文件?不要将您的供应商文件夹推送到存储库composer.lock和composer.json文件应该足够了 检查以下问题和解决方案: 提交后30个包更新有问题:在composer.json上使用锁定版本(如“1.2.3”和否“^1.2”)。更多关于 使用Bitbucket管道并在每次提交

我已经在本地系统中安装了Laravel,并配置了本地环境,现在我想将项目上传到bit bucket服务器,但在供应商文件夹中有许多.gitignore文件可用


那么,如何将我的所有文件转移到服务器而不忽略任何文件?

不要将您的
供应商
文件夹推送到存储库
composer.lock
composer.json
文件应该足够了

检查以下问题和解决方案:

  • 提交后30个包更新有问题:在composer.json上使用锁定版本(如“1.2.3”和否“^1.2”)。更多关于
  • 使用Bitbucket管道并在每次提交/合并时运行
    composer install
    。然后您只需推送您的composer,并为您安装bitbucket run composer。接下来,您只能将修改后的文件上载到服务器;)(如果您的服务器支持,可以使用FTP或简单的webhook)

别忘了,在存储库中维护供应商文件夹是一种非常糟糕的做法。查看专业存储库,如Laravel或Symfony,您可以看到它们都没有供应商文件夹。

我同意@pablorsk的观点,如果可能,管道将是一种更合适的方法。如果您确实希望确保不忽略供应商目录中的任何内容,则可以从安装的根目录执行此操作(已测试sed,不带-i选项):

小心,确保这是你想要的


我肯定会在单独的分支中执行此操作,其中.gitignore本身已签入。

是否确实要提交整个供应商文件夹?这就是composer.*lock*文件的用途!为什么要提交供应商文件夹?在存储库中维护供应商文件夹是一种非常糟糕的做法。我倾向于同意,但这不一定是真的。我不会把它推荐给任何人,但这本身并不是一个坏习惯。我有一些客户拒绝获得除共享主机之外的任何东西,这几乎迫使您将供应商文件夹打包到存储库中,然后在部署时将其解包。这是一个有效的场景,您是对的。此外,例如,当与
master
合并时,我们更愿意与供应商建立一个包。在Bitbucket管道中,可以为此使用
工件
功能(Confluence或其他替代方案可能是存储构建包所需的,我对最后一件事没有太多经验)。
find ./ -name '.gitignore'|xargs sed -i 's/.*vendor.*//g'