如何将本地主站恢复/重置为HEAD?

时间:2016-05-05 08:37:09

标签: git heroku master git-reset

我试图将较旧的提交推送到heroku / master,但如果我没有弄错git push将本地主控推送到远程仓库。所以我试图让我的当地主人与我的头衔相匹配。

我试图这样做而不会丢失我所做的提交,所以我可能会在需要时回复它们。 enter image description here

我尝试的事情:

# this only set my HEAD on the wanted commit.
$ git reset --hard HEAD
$ git reset --hard 055c700

# this made a new branch called HEAD instead of my actual HEAD, which was a pain to delete afterwards 
$ git checkout -B "HEAD" "master"

1 个答案:

答案 0 :(得分:1)

最简单的方法是:

  1. HEAD指向master第一个$ git checkout master
  2. 制作分支$ git checkout -b new_master
  3. 的副本
  4. 结帐master分行$ git checkout master
  5. 重置为您希望在您的案例$ git reset --hard <commit-number>
  6. 中将主人指向$ git reset --hard 055c700的提交
  7. 强制推送master到heroku $ git push -f heroku master
  8. 删除分支new_master
  9. 你似乎把HEAD这个词混淆为一个实际的分支。 HEAD只是指向您当前分支的最后一次提交的指针。因此,创建一个名为HEAD的分支将无效。如果您在分支HEAD上,则指针HEAD将在最后一次提交。如果你在master上,它将指向master中的最后一次提交