我正在git的一个分支上工作.当我做
git checkout <commit id>
Run Code Online (Sandbox Code Playgroud)
(从中git log获取提交的id ),它将被提交到该特定更改但分支更改为<No-branch>.
为什么会这样?你是如何解决这个问题的?
小智 35
如果你checkout直接提交sha,它会让你进入一个"独立头"状态,这基本上只意味着你的工作副本已经签出的当前sha,没有指向它的分支.
如果你还没有提交任何提交,你可以通过在签出提交sha之前检查你所在的任何一个分支来保持分离头状态:
git checkout <branch>
Run Code Online (Sandbox Code Playgroud)
如果您在处于分离头状态时确实进行了提交,则可以在离开分离头状态之前或之后简单地附加分支来保存您的工作:
# Checkout a new branch at current detached head state:
git checkout -b newBranch
Run Code Online (Sandbox Code Playgroud)
您可以在官方Linux Kernel Git文档中阅读有关分离头状态的更多信息,以便结帐.
And*_*ovs 28
通过检查历史记录中的一个提交,您正在将您的git移动到所谓的"分离状态",这看起来不是您想要的.使用此单个命令在历史记录的其中一个提交上创建新分支:
git checkout -b <new_branch_name> <SHA1>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93759 次 |
| 最近记录: |