在Git分支中管理Laravel迁移

时间:2014-10-28 13:46:09

标签: git migration branch

在我的Git repo中,我有两个主要分支, master develop 。然后从 develop 开发新功能时我会创建更多分支。完成开发后,我将 develop 合并到 master 并进行部署。在Git中,我还会跟踪我的数据库迁移。

现在我的问题是我必须在 master 中进行一些热修复,其中涉及数据库模式修改(=迁移)。所以我发现自己在生产中有一个db结构( master )和开发中的不同结构( develop ),以及来自 develop的一些迁移 应该在 master 中的 master 中的最后一次迁移之前注入,应该在 develop 中的最后一次迁移之前注入。

还有一件事是我猜 rollbacks 不应该在生产中应用(可能会丢失生产数据)。

我会找到解决这种情况的方法,但我想知道是否有一种标准的方法来管理这种情况,特别是当你有一个生产中的应用程序时。

更新

我认为下一步应该是将rebase开发到master上,因此包括 master hot-fix migrations develop ,因为它们是在上的任何工作之前完成的开发分支。

这带来了两个问题:

  1. 我有几个分支机构离开开发,我不知道如何一次性修改 master (如果它甚至可能)

  2. 主hot-fix 中的Laravel迁移(在 develop 中进行了一些迁移之后创建)将具有时间戳,该时间戳位于 develop 中em>开发分支机构,所以如果我已经播放了,那么我不相信 develop 迁移甚至会被执行。

1 个答案:

答案 0 :(得分:0)

我想你可能会从大师那里分出来。我们称之为BugFix Branch。

  1. 修复BugFix Branch中的错误
  2. 使用git cherry-pick命令仅选择要在主分支中涉及的BugFix中的提交。
  3. 最后,您可以根据需要对开发者分支进行变基或合并。
  4. 希望这会有所帮助。如果出现任何问题,请发表评论。随时准备提供帮助。