git卡在分离的头中-无法恢复到分支中的上一个文件

git卡在分离的头中-无法恢复到分支中的上一个文件,git,Git,我对我的剧本做了一个改动,完全破坏了它。我尝试使用以下命令还原到git中以前的提交: git checkout 2af6889905af99b78f7401cb17b718ba86240c2a aws_utils.sh 但现在我被困在一个分离的脑袋里: git branch -a * (HEAD detached at 2af6889) 我正在工作的分支称为:update\u aws\u delete\u user\u函数 我目前不在master branch工作 如何将散列2af6889中

我对我的剧本做了一个改动,完全破坏了它。我尝试使用以下命令还原到git中以前的提交:

git checkout 2af6889905af99b78f7401cb17b718ba86240c2a aws_utils.sh
但现在我被困在一个分离的脑袋里:

git branch -a
* (HEAD detached at 2af6889)
我正在工作的分支称为:update\u aws\u delete\u user\u函数

我目前不在master branch工作


如何将散列2af6889中的函数文件合并回名为origin/update\u aws\u delete\u user\u函数的主分支?

分离的头意味着您不再在分支上,您已签出历史记录中的单个提交(在本例中是头之前的提交,即头^)

如果要删除与分离的头部关联的更改 您只需要签出您所在的分支机构,例如

git checkout master
下次更改文件并希望将其恢复到索引中的状态时,不要先删除该文件,只需删除即可

git checkout -- path/to/foo
这将把文件foo恢复到它在索引中的状态

如果要将更改与分离的头部关联
  • 运行git日志-n1;这将在分离的头上显示最近的提交。复制并粘贴提交散列
  • 运行git签出主机
  • 运行
    git分支tmp
    。这将在名为
    tmp
    的新分支中保存更改
  • 如果要将所做的更改合并到
    master
    ,请从
    master
    分支运行
    git merge tmp
    。运行
    git checkout master
    后,您应该在
    master
    分支上

  • From:

    有更复杂的方法来实现这一点(例如还原),但我要做的是:

  • 将脚本复制到其他位置(例如Windows中的桌面)
  • 查看您的更新\u aws\u删除\u用户\u功能分支
  • 把文件放回原处
  • 提交(-a)
  • 推你的树枝

  • 谢谢对不起,如果我不清楚我不是在母公司工作。那么,我可以只替换我所在分支的名称,而不是签出主分支吗?为了更清楚,我已经更新了OP。是的,在这种情况下,用master替换你分支机构的名称。