1

我需要取消对工作目录所做的更改并返回并从上次提交开始,所以我做了git reset --hard

现在,当我执行 git commit 和 git status 时,我得到这个红色的字符串,上面写着“HEAD detached from: and some 7 char number. 从那时起我做了很少的提交,但不确定这条红色消息。

我把它搞砸了,我应该怎么做才能“修复”它?还是没有坏?谢谢

4

3 回答 3

4

没有什么是真的坏了,你只是在一个超然的头上。只需给它一个名称,就像任何其他分支一样,然后继续处理它:

$ git checkout -b my_new_branch
于 2016-03-31T17:04:16.233 回答
4

创建一个分支,然后将其合并/变基到原始分支(假设是 master)。它应该可以解决问题。

$ git checkout -b temp_branch
$ git rebase master
$ git checkout master
$ git merge temp_branch

显然,您不仅重置了工作区,而且将 HEAD 移动到了另一个提交。

于 2016-03-31T17:05:09.457 回答
0

你可以在这里找到答案:GIT restore last detached HEAD

此外,Pluralsight 视频“Git 工作原理”解释了这是如何发生的以及如何处理它。

于 2016-03-31T17:04:45.873 回答