VS里拉取时候,变成变基中,变成分离分支状态,git 头指针分离于 baf67ff

分离头指针(detached HEAD)

通常,我们工作在某一个分支上,比如 master 分支。这个时候 master 指针和 HEAD 指针是一起前进的,每做一次提交,这两个指针就会一起向前挪一步。但是在某种情况下(例如 checkout 了某个具体的 commit),master 指针 和 HEAD 指针这种「绑定」的状态就被打破了,变成了分离头指针状态。我那天遇到的情况是,master 和 HEAD 指针看上去指在同一个 commit 上,但其实已经处在分离头指针状态。当我在此时又做了一次新的提交时,HEAD 指针跑到 master 指针前面去了。如果我直接检出 master 分支,HEAD 指针就会回退一格到 master 指针的位置,而最新的那次提交就变成了孤立的提交,没有任何分支能追踪到它,刚才的活白干了。

分离后操作:

一:打开项目所在物理目录,删除目录下的.git文件下的最长的一个base啥的子文件夹

二:在VS里的GIT更改,右边的三个点,点击,选择在命令提示符中打开

按步骤运行下面两句命令

  1. # 强制将 master 分支指向当前头指针的位置

  2. $ git branch -f master HEAD

  3. # 检出 master 分支

  4. $ git checkout master

避免提交时候分离,按以下步骤,(仅供参考,不一定适合所有人)

一:先提交到本地仓库

二:在右下角的分支选择,远程分支上右击合并到当前

三:再推送或拉取

猜你喜欢

转载自blog.csdn.net/wybshyy/article/details/131400128