错误我已经做了许多天的工作承诺没有地方。当我检查当前的分支git回答我(没有分支)。所以很多承诺(没有分支)
事实上,我的印象是,我承诺一个新的分支(除了主人),并且一切都很顺利。现在,当我遍历并检查甚至是一个非常古老的提交(大约一个月后)的分支时,仍然git说它不在任何地方(即没有分支)。
我知道,如果只有一个提交,合并将有所帮助。现在我怎么才能让所有先前的提交与主合并?
在此先感谢。
错误我已经做了许多天的工作承诺没有地方。当我检查当前的分支git回答我(没有分支)。所以很多承诺(没有分支)
事实上,我的印象是,我承诺一个新的分支(除了主人),并且一切都很顺利。现在,当我遍历并检查甚至是一个非常古老的提交(大约一个月后)的分支时,仍然git说它不在任何地方(即没有分支)。
我知道,如果只有一个提交,合并将有所帮助。现在我怎么才能让所有先前的提交与主合并?
在此先感谢。
您可能犯了一个所谓的“分离的HEAD”(例如在git checkout abc123ef
之后)。
如果你知道你犯犯上次(即你的“丢失”分支的HEAD
),你应该能够重置跳转到本承诺,一切都会好起来的:git branch -f some-branch cbd131ef
。
当你结帐为“无分支”混帐说:
您在“分离的头”状态。您可以环视,制作 实验性更改并提交它们,并且您可以放弃您在此状态下进行的任何提交 而不影响任何分支,方法是执行 另一个结帐。
如果您想创建一个新分支来保留您创建的提交,您可以通过再次使用-b和checkout命令(现在或以后)来执行此操作(现在或以后)。 例子:
git的结帐-b new_branch_name
当然,只要你想,你可以合并尽可能多的提交。
要找到一个分离的头如果你失去了它可以使用git reflog。
你也应该记住,一个分离的头可以被垃圾收集。
如果你不知道最后一次提交,你可以用'git reflog'找到它 – jalf
谢谢Koraktor,@Jalf。我会尝试 –
嗨,把它固定好了,谢谢 –