我有四次承诺我的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上的截图。
答案 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
之前,请确保不会打扰任何其他用户。