使用 git 流分支时的数据库问题(孤立迁移)

Database issue (orphaned migrations) when using git flow branches

有一个 git 流程问题,如果有人可以提供帮助。我不太喜欢 table 使用 git 流程方法来处理事情,所以这可能是一个非常愚蠢的问题,但是这里是:

我公司处理事情的方式是在与 GitHub "issues" 页面相关的特定问题代码之后命名每个功能。因此,例如,我不久前完成了 feature/issue-3118。在该分支中,我必须从用户 table 中删除 2 列并清除(或更改)任何试图访问它的内容。这已经完成,所有测试都通过了等等,所以我推了分支。然后我做了一个 git checkout develop 并为分配给我的下一个任务开始了一个新的功能分支(称为 feature/issue-3201)。

我现在遇到的问题是当前分支没有通过上一个分支中修复的一堆测试。 运行 rake db:migrate:status 显示我之前的 2 个迁移现在被孤立,因此尝试访问它们的方法等测试失败。

issue-3118 分支仍在审核中,所以我不能只更新我的母版并继续前进。与其手动重新检查所有数据库更改(或等待主数据库更新),有没有一种简单的方法可以解决这个问题?如果合并分支,push当前分支会不会出现冲突问题?

(如果这确实听起来像一个非常愚蠢的问题,我和初级开发人员一样初级 - 8 月 1 日开始我的第一份 Web 开发工作!)

一个选项(我可能会这样做)是从您的 feature/issue-3118 分支开始新功能分支,而不是从 develop 的头部开始。这不是标准方法,但听起来好像您的新功能取决于 feature/issue-3118.

的完成

这样一来,新功能就已经有了这些更改,您可以继续在那里工作。

然后,一旦 feature/issue-3118 合并到 develop 中,您就可以在 develop 上重新建立新功能分支并继续工作。

这保持了需要进行的工作的分离,但允许您在 issue-3118 被审查时继续。

很可能,在继续这条路线之前,您应该先征得团队中其他人的同意。