【问题标题】:Rollback and Start Over/Pending Migration回滚和重新开始/等待迁移
【发布时间】:2015-06-12 12:48:41
【问题描述】:

我是新手,如果我听起来像个白痴,请原谅我...... 在我的 Nitrous 盒子中,我不断收到 Pending Migration Error。我运行 bin/rake db:migrate RAILS_ENV=development,它仍然存在。与此同时,我尝试 git reset --hard HEAD 来“退出”但仍然得到它。在此过程中,我还遇到了其他问题。

我可以删除或回滚最近几天的工作并从没有问题的地方重新开始吗?如果有帮助,我会 git push 和 heroku push。我已经从 Codermanual 开始了 3 周,并且不想重新开始,但如果我必须这样做,我必须这样做。沮丧的。感谢您的任何建议!

【问题讨论】:

    标签: git migration nitrousio


    【解决方案1】:

    我假设你已经找到了你想要回滚到的提交;我们称之为ABC。另外,我假设您正在一个名为my-branch 的分支上工作。首先检查提交并创建一个新分支:git checkout ABC -b new-branchname

    此时,您可以忽略my-branch 并在new-branchname 上完成您未来的所有工作。但是,如果您想在 my-branch 上继续工作,请继续执行以下步骤:

    git reset --soft my-branch
    git commit -m "Rolling back a bunch of commits"
    git checkout my-branch
    git merge new-branchname
    

    此时,您的代码将回滚,您可以删除您创建的分支 (git branch -d new-branchname)。很好的是,如果您改变主意和/或需要回滚提交中的一些代码,它们仍然在您的历史记录中。

    【讨论】:

    • 嗨,大卫,感谢您的回答。它实际上不在 master 上,而是在一个分支上,如果这很重要的话。我从 6 月 8 日开始在 GitHub 上提交了一个提交……我可以回到那个地方吗?还是我必须在 Nitrous 中寻找它?如果我执行您的 git reset --soft master 等操作,它会撤消我添加的代码(这很好),因为老实说,我想撤消我所做的事情,以便我可以正确地做到这一点。我想在走捷径之前学习正确的方法!你太有帮助了!
    • @JayBoucher - 我将答案编辑为不特定于master。你可以追溯到 git 的历史。请注意,由于 git 是一个 分布式 vcs,因此您在所使用的机器上拥有完整的存储库以及完整的历史记录,因此您不必在“GitHub”上查找更改。我给出的步骤确实会撤消您的更改,但不会删除它们;在你已经推送你的提交之后,你真的不想搞乱更改历史。希望对您有所帮助。
    • 感谢大卫的帮助。尽管如此,仍有待处理的 mirgtaion 错误。我想我将不得不放弃过去 3 周的工作并从头开始。失望,沮丧和悲伤,但我无法解决这个问题。 nitrous 说不是他们把我送到这里,我觉得谷歌搜索的东西让事情变得更糟/更复杂。你非常乐于助人。
    猜你喜欢
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2018-08-01
    • 2018-05-24
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 2014-06-21
    相关资源
    最近更新 更多