我提交了一个对脚本的更改,该更改完全破坏了脚本。我尝试使用以下命令恢复到以前的git提交:
git checkout 2af6889905af99b78f7401cb17b718ba86240c2a aws_utils.sh
但现在我陷入了一个超然的头脑:
git branch -a
* (HEAD detached at 2af6889)
我正在工作的分支名为:update_aws_delete_user_function。
我目前不在master分支机构工作。
如何将散列2af6889中的函数文件合并回名为origin/update_aws_delete_user_function的主分支?
分离的头表示您不再在分支上,您已经在历史中签出了一个提交(在这种情况下,是head之前的提交,即head^(。
如果您想删除与分离的HEAD关联的更改
你只需要结账你所在的分行,例如
git checkout master
下次更改文件并希望将其恢复到索引中的状态时,不要先删除文件,只需执行即可
git checkout -- path/to/foo
这将把文件foo恢复到索引中的状态。
如果您想保持与分离的HEAD关联的更改
- 运行
git log -n 1
;这将显示分离的HEAD上的最新提交。复制并粘贴提交哈希 - 运行
git checkout master
- 运行
git branch tmp <commit-hash>
。这将把您的更改保存在一个名为tmp
的新分支中 - 如果要将所做的更改合并到
master
中,请从master
分支运行git merge tmp
。运行git checkout master
之后,您应该在master
分支上
From:修复Git分离的头?
有更复杂的方法可以做到这一点(例如恢复(,但我要做的是:
- 将脚本复制到其他位置(例如Windows中的桌面(
- 查看您的update_aws_delete_user_function分支
- 将文件放回原位
- 提交(-a(
- 推动你的分支