gpt4 book ai didi

Git 恢复最后分离的 HEAD

转载 作者:IT王子 更新时间:2023-10-29 00:39:27 26 4
gpt4 key购买 nike

我的项目有个大问题:场景是这样的。我在 Git 下有一个 xcode 项目。今天我意识到最后一次提交破坏了一些测试,所以我检查了之前的提交。我使用了 SourceTree,这是警告

Doing so will make your working copy a 'detached HEAD', which means you won't be on a branch anymore. If you want to commit after this you'll probably want to either checkout a branch again, or create a new branch. Is this ok?

我工作了一整天,最后我全力以赴。所以我需要 merge 我在 develop 分支上的工作,所以我检查 develop 分支并且......我的工作立即消失了:(

我知道分离我的 HEAD 是错误的,Sourcetree 警告过我......但是有办法恢复我的工作吗?

最佳答案

如果你输入 git reflog,它会显示 HEAD 指向的修订历史。你独立的头应该在那里。找到它后,执行 git checkout -b my-new-branch abc123git branch my-new-branch abc123 (其中 abc123 是分离 HEAD 的 SHA-1)创建一个指向分离头的新分支。现在您可以随意 merge 该分支。

通常,如果您在分离头上工作后 checkout 分支,Git 应该会告诉您来自分离头的提交,这样您就可以在需要时恢复它。我从未使用过 SourceTree,所以我不知道它是否转发了该消息。但是,如果它确实显示了该消息,那么您应该能够使用它来查找提交,并再次使用 git checkout -bgit branch 创建一个分支那个提交。

关于Git 恢复最后分离的 HEAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com