【发布时间】:2016-06-26 14:05:37
【问题描述】:
我不小心从 heroku 上的 rails 应用程序中提取了一个更新,它弄乱了我的本地代码。
有什么办法可以撤销这些东西。
我试图将我在本地所做的一些更改提交给 bitbucked,然后我得到了我需要提取的错误,然后只有我可以提交。当我拉的时候,我看到我的本地代码搞砸了。
有什么方法可以撤销 git pull heroku?
【问题讨论】:
我不小心从 heroku 上的 rails 应用程序中提取了一个更新,它弄乱了我的本地代码。
有什么办法可以撤销这些东西。
我试图将我在本地所做的一些更改提交给 bitbucked,然后我得到了我需要提取的错误,然后只有我可以提交。当我拉的时候,我看到我的本地代码搞砸了。
有什么方法可以撤销 git pull heroku?
【问题讨论】:
在这种情况下,您需要将 reset 您的 HEAD 转到之前的位置。你可以通过git log 进入你之前工作的提交,之后,编写以下命令:
get reset `sha1 of that commit`
【讨论】:
好消息:你不能通过拉扯来破坏任何东西。您只是在上次提交的基础上添加了一些提交,并使您的分支指向不同的提交,很容易撤消。
git log # find the commit you want to go back to, let's call it a1b2b123b123
git branch BRANCH a1b2b123b123 --force # substitute your real branch name for BRANCH
git checkout BRANCH
保存git log 的输出,以便您在迷路的情况下有所保留。
通过拉取添加的东西会在一段时间后被垃圾收集。
【讨论】:
如果
git pull heroku
是最后一个命令,意味着你没有更改分支或提交或任何东西。
git 重置 HEAD~1
会成功的,否则你需要运行
重置
sha1 of that commit just before git pull merges
(希望你不必走这么远) 在执行 git pull 时,如果它重新定位而不是合并,那么您将不得不使用
找到 sha1 总和git reflog
【讨论】: