在我的 Git 存储库中,我有两个主要分支,master 和 develop。然后从 develop 我在开发新功能时创建更多分支。完成开发后,我将 develop merge 到 master 并进行部署。在 Git 中,我还跟踪我的数据库迁移。
现在我的问题是我必须在 master 中进行一些热修复,其中涉及数据库架构修改(= 迁移)。所以我发现自己在生产中有一个数据库结构(master),在开发中有一个不同的结构(develop),还有一些迁移来自develop 应在 master 中的最后一次迁移之前注入(inject) master 应在 develop 中的最后一次迁移之前注入(inject)。
还有一件事是我猜想回滚不应该应用于生产(这可能会丢失生产数据)。
我会找到摆脱这种情况的方法,但我想知道是否有管理此类情况的标准方法,尤其是当您的应用程序正在生产中时。
更新:
我认为下一步应该是将 develop rebase 到 master,从而将 master hot-fix 迁移包括到 develop 中,因为它们是在对 进行任何工作之前进行的开发分支。
这带来了两个问题:
我有几个分支从 develop 出发,我不知道如何一次 rebase 到 master(如果可能的话)
master hot-fix 中的 Laravel 迁移(在 develop 中的一些迁移已经创建之后创建)将具有时间戳,该时间戳位于 中的时间戳之后em>develop 分支,所以如果我已经玩过master 分支,我不确定develop 迁移是否会执行。
最佳答案
我想你可以从 master 分支出来。我们称它为 BugFix 分支。
- 在 BugFix 分支中修复你的错误
- 使用 git cherry-pick 命令只选择 BugFix 中要包含到 master 分支中的提交。
- 最后,您可以根据需要 rebase 或与开发人员分支 merge 。
希望这对您有所帮助。如果有任何问题,请发表评论。随时准备提供帮助。
关于git - 在 Git 分支中管理 Laravel 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26609988/