我应该在 git 上发布 PHP Web 应用程序的哪个目录?

问题描述 投票:0回答:1

我正在开发 PHP 网络应用程序。我必须将其发布到分布式版本控制系统(git)上,但我不确定是否要发布项目的根目录或 public_html 文件夹。

根文件夹包含composer相关文件和配置文件。

此外,包含配置文件的最佳实践是什么,这些文件必须在版本控制中省略/模糊?

该项目的结构如下:

+ root
|_ (...)
|_ config.php
|_ composer.json
|_ composer.lock
|_ public_html
    |_ index.php
    |_ (...) // The rest of the project

php git version-control
1个回答
2
投票

git 主要不是“发布”任何东西,它是关于“跟踪某些东西的更改”,并在某个地方检索特定版本。 考虑什么

放入版本控制中可能更容易:

数据和应用程序状态。您不希望每次有人在您的博客上发表新评论或更改您商店中产品的价格时都更新您的 git 存储库。
  • 大型物体。 Git 针对小文本文件进行了优化;您可以在其中放置一些图像,例如徽标和按钮,但可能不需要全分辨率桌面背景或某些要下载的软件的安装程序。如果您需要的话,可以使用
  • git-lfs
  • 等解决方案,但大多数情况下,此类“资产”属于其他地方,例如 AWS S3(有自己的版本控制)。 敏感数据。任何有权访问该存储库的人不仅可以访问文件的当前版本,还可以访问
  • 每个以前的版本
  • ;因此,您要小心永远不要在那里存储任何密码或密钥。 每个部署配置。这个问题变得更加模糊——某些配置对于版本控制很有用,这样您就可以重新部署应用程序,而无需进行大量手动设置;但其他东西应该由安装脚本生成。在不知道其中包含什么的情况下,很难回答是否应该提交
  • config.php
  • - 可能应该如此,但其中的某些内容应该移到其他地方。
    
    

提交某些内容,只需将其列在.gitignore

中即可。 (请注意,这不是一个
安全措施:它不会删除已经提交的文件,甚至是来自未来修订版的文件,并且仍然有可能意外地使用某些命令提交它列出的文件,因此您仍然可以注意你所做的事情。) 其他所有内容可能都属于 git,

包括

composer.lock

© www.soinside.com 2019 - 2024. All rights reserved.