我错误地将许多天的工作提交到了无处。当我检查当前分支时,git用一个(没有分支)回复了我。
事实上,我的印象是我要去一个新的分支(除了主人),一切都很顺利。现在,当我遍历并检查甚至是一个非常旧的提交(大约一个月前)的分支时,仍然git说它不在哪里(即没有分支)。
我知道如果只有一次提交,合并会有所帮助。现在我如何让所有以前的提交与主人合并?
提前致谢。
答案 0 :(得分:3)
当您结帐到“没有分支”时,git说:
你处于'超级HEAD'状态。你可以四处看看,制作 实验更改并提交它们,您可以放弃任何提交 你在这种状态下通过表演而不影响任何分支 另一个结账。
如果您想创建一个新分支来保留您创建的提交,那么 可以通过再次使用-b和checkout命令来执行此操作(现在或稍后)。 例如:
git checkout -b new_branch_name
当然,您可以根据需要合并尽可能多的提交。
要找到丢失的头,你可以使用git reflog。
另外你应该记住,一个分离的头可能是垃圾收集。
答案 1 :(得分:1)
您可能致力于所谓的“分离的HEAD”(例如在git checkout abc123ef
之后)。
如果您知道最后提交的提交(即“丢失”分支的HEAD
),您应该能够将分支重置为此提交,一切都会正常:git branch -f some-branch cbd131ef
。