Git重置并删除分支不能正常恢复

我创建了一个名为user-microposts的新分支。 我着手创建一个模型。 我试着回到最后一次提交使用:

git reset --hard cb166caa1c70004f77eed6229168b06ad249a4ba

回馈:

HEAD is now at cb166ca Eliminate an unnecessary assignment

所以我尝试重做Migrate,这给了我这个错误:

SQLite3::SQLException: table "microposts" already exists: CREATE TABLE "microposts"
....

我很惊讶,因为我认为如果我回到以前的承诺,这将是什么都没有发生。

所以我回到了主分支,并删除了我做了任何更改的分支。

然后我创建了一个新的分支,并尝试创建另一个模型并运行rake db:migrate。 我再次遇到了同样的错误

SQLite3::SQLException: table "microposts" already exists: CREATE TABLE "microposts"
....

我最近试图手动删除任何带有微博的文件。 再次没有这样的运气。

我不断收到相同的错误。 我认为git分支和/或git reset的目的会阻止这种情况,所以我非常困惑。 任何帮助,将不胜感激


数据库在源代码控制下很不寻常。 因此,如果你恢复你的源代码,你可能会在数据库和源代码之间产生不一致。 该解决方案有几个选项:

  • 删除数据库并重新创建它
  • 回滚数据库以匹配源
  • 对于上述两种情况,您都会使用典型的“rake db”类型命令。

    链接地址: http://www.djcxy.com/p/18917.html

    上一篇: Git reset and delete branch not reverting back properly

    下一篇: Revert multiple git commits