我正在git中的一个分支上工作。当我做
git checkout <commit id>
(提交从
git log
获得的ID),它已提交到该特定更改,但分支已更改为<No-branch>
。为什么会这样呢?您如何解决这个问题?
最佳答案
如果直接用checkout
一个提交sha,它将使您进入“分离头”状态,这基本上仅意味着您的工作副本已 checkout 的当前sha没有指向它的分支。
如果尚未进行任何提交,则可以通过在 checkout 提交sha之前简单地 checkout 您所在的哪个分支来保持分离状态:
git checkout <branch>
如果您在处于分离头状态时确实提交了提交,则可以通过在离开分离头状态之前或同时附加一个分支来保存工作:
# Checkout a new branch at current detached head state:
git checkout -b newBranch
您可以阅读有关detached head state at the official Linux Kernel Git docs for checkout的更多信息。
关于git - “git checkout <commit id>”正在将分支更改为“no branch”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18054057/