共计 751 个字符,预计需要花费 2 分钟才能阅读完成。
遇到不会解决的问题,最好
不要乱动
免得给本人解决谬误路上徒增老本!
昨天焦急上班,眼看就要 6 点了,有事在身本想脚底抹油,逃之夭夭的,就在我 git push 的时候命令给我之前没就见过的 bug,如下:
左下角显示的原本应该是红字高亮前面的指向(过后焦急跑路没截图难堪);
过后是能够 add 并且 commit 的 然而就是 push 不下来;
什么是头指针拆散?
所谓的拆散头指针状态就是 HEAD 不再指向分支,而是间接指向某个 commit;
- 造成这样的起因是什么?
如果执行git checkout commitId
就会导致 HEAD 指向该次提交,而不在指向分支,而后提醒头指针拆散,之后你进行的所有的操作都是失常进行的,然而不在任何分支上! 如果此时切换回 master 分支,你会发现刚刚在拆散头指针状态下对文件做了批改提交在 master 分支下是看不到的,并且因为 c3 这次提交不在任何分支上,在将来极有可能会被 Git 清理掉。 遇到头指针拆散应该怎么解决
首先,遇到事件不要慌,拿出手机发个朋友圈,来杯咖啡期待大神帮忙,或者自行百度均可!(开开个玩笑!)
先说个谬误的办法,这个时候不能抉择切换到 master,而后 merge,这样做会显示 merge 胜利, 然而代码却没有过去,
正确的出解决办法是把以后的的 src 打一个压缩包,而后在切换到 master, 在将 src 压缩包还原即可,不过这样问题就是如果之前的 master 上未合并的代码那就回导致代码失落
;
那么如何优雅的解决这个问题呢?
咱们能够抉择在以后分支创立分支,而后在切换到 master 上,进行 merge,最初在手动创立的分支即可!
至于头指针批改的就不必管了 git 会主动回收,并且切换到 master 当前在运行 git branch 也是看不到那个分支存在的至于说为什么不要乱动,因为咱们一个大神一顿操作,我疯了😖
正文完