遇到不会解决的问题,最好不要乱动
免得给本人解决谬误路上徒增老本!
昨天焦急上班,眼看就要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也是看不到那个分支存在的至于说为什么不要乱动,因为咱们一个大神一顿操作,我疯了