在使用 Git 进行版本控制的过程中,我们有时会执行如下操作:
git reset --hard <commit-id>
或者:
git checkout <commit-id>
这会让我们进入一个名为 Detached HEAD 的状态,即当前 HEAD 不再指向一个命名的分支,而是指向一个具体的提交(commit)。这种状态下虽然可以修改代码、提交新内容,但你无法直接执行:
git push
你会遇到类似这样的错误提示:
fatal: 您当前不在一个分支上。
现在为推送当前(分离头指针)的历史,使用
git push origin HEAD:<远程分支名字>
那么,如果你在 Detached HEAD 下完成了重要修改并提交,希望它成为远程 main
分支的新状态,应该怎么做?
本文将手把手教你如何将当前的修改安全、正确地推送为新的远程 main 分支。