问题描述
我错误地将分支应用到我的主分支之上并提交了更改。 但现在我想让我的 HEAD 指向原点/主。
我尝试了以下命令:
git reset --hard origin/master
但我的日志显示 HEAD 指向 master、origin/master、origin/HEAD、change-branch 等。
如何让我的 HEAD 只指向 (HEAD -> master,origin/master,origin/HEAD) 而不像下面那样更改 ID?
预期日志:
任何帮助将不胜感激。
解决方法
从您的屏幕截图来看:目前,您的两个本地分支 change-494895-1
和 494895-1
恰好指向与 master
和 origin/master
完全相同的提交。
他们不会以任何方式干扰您在 master
或存储库其余部分的工作。例如:下次您在 master
上进行提交,或从 origin/master
拉取更新时,master
会向前移动,而这两个分支不会。
如果你需要对这两个分支做一些事情:
- 如果其中一个没有用,就删除它:
git branch -d <branch_name>
- 如果您需要在其中一个分支上工作:
git checkout <brnach_name>; #some work; git commit
- 等等……
你想要:
git checkout master
git reset --hard e2ac6469
git push -f
第一个命令将 HEAD 指向 master
。
第二个命令会将 HEAD 和 master
一起移动到您想要的提交(您可以在屏幕截图中看到提交 ID, e2ac6469
。您不需要包括所有数字)
第三条命令会将远程 origin/master
移动到与 master
相同的提交,即 e2ac6469
。
如果您仍然想要 master
曾经指向的提交,它仍然在分支 change-494895-1
上。您可以通过 git checkout change-494895-1
访问它。