rails 迁移文件是否可能对 2 个不同的 git 分支通用?

Is it possible that a rails migration file would be common for 2 different git branches?

我为新的变化创建了一个新的分支

git checkout -b my-new-branch

然后我做了一个新的迁移,它创建了一个新的迁移文件。我决定取消这次迁移,所以我做了:

git checkout master
git status

而且我注意到我在 master 分支中有这个新的迁移文件。
为什么会这样?

如果您确实迁移了该迁移文件(rake db:migrate),它将在数据库中进行更改,您无法通过检出到 master 来恢复这些更改。您需要执行迁移回滚。

Migration Revert.

否则

git stash

再回去master,一切都会是旧的

问题是因为您在本地分支中切换了未提交更改的分支。这些未提交的更改随后在更改分支后被列为针对新分支的未提交更改。

根据您所处的情况,您有多种选择可以恢复到干净的状态。值得注意的是,这两个值得研究:

git reset --hardgit clean