如何将revert/reset local master转为HEAD?
How to revert/reset local master to HEAD?
我正在尝试将旧提交推送到 heroku/master,但如果我没记错的话 git push
会将本地主服务器推送到远程仓库。所以我试图让我的本地主人与我的 HEAD 相匹配。
我正在努力做到这一点而不会丢失我所做的承诺,这样我也许可以在需要时返回它们。
我尝试过的事情:
# 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"
最简单的方法是:
- 首先将您的
HEAD
指向您的 master
$ git checkout master
- 复制分支
$ git checkout -b new_master
- 检查
master
分支 $ git checkout master
- 重置为您希望您的 master 指向的提交
$ git
reset --hard <commit-number>
在您的情况下 $ git reset --hard
055c700
- 强制推送
master
到 heroku $ git push -f heroku master
- 删除分支
new_master
您似乎将术语 HEAD 与实际分支混淆了。 HEAD 只是指向您所在的当前分支的最后一次提交的指针。所以创建一个名为 HEAD 的分支不会有任何效果。如果您在分支 HEAD 上,则指针 HEAD 将位于最后一次提交处。如果您在 master 上,它将指向 master
中的最后一次提交
我正在尝试将旧提交推送到 heroku/master,但如果我没记错的话 git push
会将本地主服务器推送到远程仓库。所以我试图让我的本地主人与我的 HEAD 相匹配。
我正在努力做到这一点而不会丢失我所做的承诺,这样我也许可以在需要时返回它们。
我尝试过的事情:
# 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"
最简单的方法是:
- 首先将您的
HEAD
指向您的master
$ git checkout master
- 复制分支
$ git checkout -b new_master
- 检查
master
分支$ git checkout master
- 重置为您希望您的 master 指向的提交
$ git reset --hard <commit-number>
在您的情况下$ git reset --hard 055c700
- 强制推送
master
到 heroku$ git push -f heroku master
- 删除分支
new_master
您似乎将术语 HEAD 与实际分支混淆了。 HEAD 只是指向您所在的当前分支的最后一次提交的指针。所以创建一个名为 HEAD 的分支不会有任何效果。如果您在分支 HEAD 上,则指针 HEAD 将位于最后一次提交处。如果您在 master 上,它将指向 master
中的最后一次提交