我正在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/

10-13 06:38