Git将以前的版本更改为master

时间:2014-09-08 07:47:59

标签: git version-control

我有四次承诺我的git。见日志

f1f55a9     5 hours ago     user    UI improvement   master
17114a0     2013-04-16      user    enhancement
d72934e     2012-12-24      user    enhancement
bf81a9e     2012-11-27      user    origin

我希望master是最老的一个;

f1f55a9     5 hours ago     user    UI improvement
17114a0     2013-04-16      user    enhancement
d72934e     2012-12-24      user    enhancement
bf81a9e     2012-11-27      user    origin      master

我应该使用哪个命令将master更改为最旧的命令?我在Windows 7上使用git 1.8。这是我在GitStack上的截图。

enter image description here

1 个答案:

答案 0 :(得分:2)

如果您想将主分支重置为最早的提交(并且没有正在进行的工作),您可以执行以下操作:

git checkout master
git reset --hard bf81a9e

但是如果您必须推送新的master,则必须强制推送,这对于已经克隆 upstream repo 的其他用户来说可能会出现问题更多不同的master历史。

但是,如果这纯粹是本地的,您可以将master重置为您想要的任何提交。


请注意,您在GitStack Web界面中看到的是上游仓库,而不是您的本地仓库 您可以在本地重置master,但仍需要执行:

git push --force origin master

这会使上游回购反映新主人,但是提交f1f55a9,17114a0和d72934e 不再可见master只会引用一次提交。

因此,在执行push --force之前,请确保不会打扰任何其他用户。