将git repo还原为上一次提交

时间:2013-05-03 17:37:14

标签: git repository reset git-checkout revert

我有一个git问题。我在我的本地主机上开发,将更改推送到我的仓库,然后拉到我的实时网站。我最近在我的localhost上构建了一个页面,它运行良好。然后我推到我的仓库并拉到现场。出于某种原因,这些变化打破了我的实时网站例如,以下是损坏的提交和工作提交的哈希值:

ABCDE'此提交适用于本地主机和实时网站
ZYXWV'此提交适用于本地主机,但不适用于实时网站

所以我在我的本地主机上提交了ZYXWV并将其推送到了repo。然后我把ZYXWV拉到我的现场,打破了它。为了修复我的实时网站,我做了以下几点:

git checkout ABCDE

所以,现在我的实时网站正在运行。唯一的问题是我的实时网站与我的仓库不同步,这意味着我无法在没有破坏代码的情况下进行任何更改。我不需要破坏的代码,如果它被删除也没关系。我只需要一种让repo与ABCDE同步的方法。

我希望这是有道理的。我对git并不是那么好。谢谢你的帮助。

1 个答案:

答案 0 :(得分:4)

听起来你可能想要这样做

git revert ZYXWV

这将创建一个新的提交,恢复在实际站点上不起作用的提交。现在,您可以将其拉到实际网站并执行git checkout master

然后你可以继续尝试重新创建一个比ZYXWV更好的提交,它将在任何地方都有效。