恢复到GIT上的先前提交(没有人工交互)

时间:2017-01-24 16:02:46

标签: git git-revert

首先,这不是重复。我发现了一些关于如何使用GIT进行恢复的问题,但这些问题总是需要人工交互或者需要修改哪些版本。在这种情况下,没有人工干预,您也没有告诉机器哪个版本必须还原。

鉴于一台远程自动化机器有一个克隆的git repo,每当你按下它的界面上的“拉”按钮时它就会拉动,是否可以实现恢复到之前提交的功能?

我可以轻松添加按钮,但我不确定如何使用该功能。我的意思是,我需要知道git是否有一个命令可以让你先前提交它的分支,然后是一个命令,它将本地repo状态更改为之前的提交。

这台机器不进行任何提交,它只有克隆代码,它只为代码更新做了一些工作。现在有了这个新按钮,它将能够恢复到之前的版本。

这可能吗?

2 个答案:

答案 0 :(得分:0)

以下命令将master分支恢复为最后一个更改master分支的命令之前的内容,无论它是什么,提交,合并,rebase,filter-branch,......

git reset --hard master@{1}

答案 1 :(得分:0)

最后我用这个来解决它:

git reset --hard $SHA1

$ SHA1是您想要获得的修订版的ID。

稍后,当您希望再次使用repo的所有提交进行更新时,您只需执行以下操作:

git pull