gpt4 book ai didi

git - 为什么 git 将我们设置为(无分支)?

转载 作者:IT王子 更新时间:2023-10-29 00:33:17 26 4
gpt4 key购买 nike

今天早上我们从我们的 repo 中 pull 出,git 把我们放在(没有分支)上。

我不明白,为什么会这样?以及如何在不丢失更改的情况下摆脱它?

最佳答案

“目前不在任何分支”意味着你有一个 detached head ,即您的 HEAD 指针直接引用提交而不是象征性地指向分支的名称。

您可以通过检查 SHA1 的提交来进入这种情况,或者当您处于 rebase 中间时,或者当 merge 失败时。很难说您是出于何种原因无意中陷入这种境地。

据说当你从分离的 HEAD 切换到某个分支时你可能会丢失你的更改,但是 reflog 将始终跟踪你的 HEAD 移动到哪里。事实上,Git 1.7.5 会警告您从分离的 HEAD 切换时会丢失提交。唯一可以真正失去工作的是当您有未提交的更改时,您可能想要提交或 stash 这些更改。

查看发生了什么的简单方法是 git refloggit log -g --decorate 以获得更详细的 list 。 --decorate 选项将用指向它的所有分支的名称来标记每个 SHA1。如果当前 HEAD 的 SHA1 与 master 完全相同,那么除了 git checkout master 之外,您无需执行任何操作即可回到正轨。否则,查看 SHA1 是否被其他分支指向。如果没有,您可能希望创建一个分支以保留它。

另一个好的命令是 git branch -av,它会类似地列出所有分支以及它们指向的内容,这样你就可以看到你的 (no branch) 是什么应该是。

关于git - 为什么 git 将我们设置为(无分支)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2498458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com