提问人:Mike L-SJC 提问时间:11/13/2023 更新时间:11/13/2023 访问量:63
Magento 2 和 phpStorm 的 Git 工作流
Git workflow for Magento 2 and phpStorm
问:
我正在努力将我的思想包裹在工作流程上。这是我的设置:
- 我有一个生产Magento站点(外部托管)v2.4.6-p3。这有许多扩展等。
- 我使用 Docker 在本地 Mac 上创建了一个开发 Magento 2.4.6-p3 站点(它使用的目录结构略有不同 - 所有代码都在 /src 下
- 当然,一些设置代码是不同的 - 例如 env.php
我正在尝试设想一个 git 工作流程,我可以:
- 将我的生产推送到 git 存储库
- 将其拉入我的开发站点,创建一些自定义/扩展,例如,我的每周产品更新的产品导入(超过 50,000 种产品,如果在外部完成,则非常耗时等),这需要以分销商的格式获取 csv 文件并将它们按摩为 Magento 所需的格式
- 在搞砸狗后将开发站点恢复到以前的工作状态,或者由于设置/配置文件问题等原因以某种方式损坏开发站点的拉取(我目前正在为此苦苦挣扎 - 如何在拉取/合并之前“回滚”到以前的工作状态等)
- 将具有新功能的成功开发更改版本推送到生产环境
显然,这是一个非常正常的工作流程。但我似乎无法进行开发站点回滚(存储库和实时站点的想法在某个地方令人困惑)并处理似乎出现的合并问题等问题。
我真正在寻找的是工作流程的每个组件附带的 git 命令:
- 将生产代码移动到开发环境
- 将损坏的开发环境“回滚”到以前的状态
- 将开发代码移回生产环境
使用概念存储库和分支思想。
有人可以帮我解决这个问题吗?一切都在 Linux 中 - 生产托管站点和本地开发托管站点。
这有意义吗?
TIA!非常感谢您的帮助!
我在我的 ID 下创建了一个生产和开发存储库作为私有存储库。当然,我可以开始初始化、添加、提交和推送到这些存储库中。
从生产存储库拉到我的 Mac(Apple Silicon MacBook Pro M2 Max)上的开发站点后,我在新站点中遇到了错误 - Magento 配置错误,我看不到如何解决。
我尝试再次从开发存储库中提取,但这并没有将状态恢复到以前的工作站点 - 它在我的代码版本之间的差异中给了我一系列错误。我只想让它完全覆盖开发站点,但我被困在这里。
我还没有到仅仅在 /vendor、/app 和任何其他具有这些关键站点差异的地方降低代码的地步。我知道这可能涉及一个适当的.gitignore......
从那里开始,仍然存在仅将所需的新组件发送回生产环境的问题......
答:
听起来您在设置基于 Git 的工作流程来管理 Magento 站点方面走在正确的轨道上,但您在回滚、特定于环境的配置和管理合并方面面临着一些挑战。让我们分解工作流的每个部分,并解决您需要的特定 Git 命令和策略。
将生产代码移至开发:
将生产存储库克隆到开发环境。 创建一个用于开发的新分支。 使用模板或 .gitignore 管理特定于环境的文件,如 env.php。 回滚损坏的开发环境:
使用 git log 查找要恢复到的提交。 使用 git reset --hard [commit-hash] 恢复到特定提交。 使用 git clean -fd 删除未跟踪的文件和目录。 将开发代码移回生产环境:
在开发分支中提交更改。 将更改推送到远程开发存储库。 创建从开发分支到生产分支的拉取请求。 审核后,将拉取请求合并到生产分支中。
评论