关于git:git-头指针分离

39次阅读

共计 751 个字符,预计需要花费 2 分钟才能阅读完成。

遇到不会解决的问题,最好 不要乱动 免得给本人解决谬误路上徒增老本!

昨天焦急上班,眼看就要 6 点了,有事在身本想脚底抹油,逃之夭夭的,就在我 git push 的时候命令给我之前没就见过的 bug,如下:

左下角显示的原本应该是红字高亮前面的指向(过后焦急跑路没截图难堪);
过后是能够 add 并且 commit 的 然而就是 push 不下来;

  1. 什么是头指针拆散?

    所谓的拆散头指针状态就是 HEAD 不再指向分支,而是间接指向某个 commit;

  2. 造成这样的起因是什么?
    如果执行 git checkout commitId就会导致 HEAD 指向该次提交,而不在指向分支,而后提醒头指针拆散,之后你进行的所有的操作都是失常进行的,然而不在任何分支上! 如果此时切换回 master 分支,你会发现刚刚在拆散头指针状态下对文件做了批改提交在 master 分支下是看不到的,并且因为 c3 这次提交不在任何分支上,在将来极有可能会被 Git 清理掉。
  3. 遇到头指针拆散应该怎么解决
    首先,遇到事件不要慌,拿出手机发个朋友圈,来杯咖啡期待大神帮忙,或者自行百度均可!(开开个玩笑!)
    先说个谬误的办法,这个时候不能抉择切换到 master,而后 merge,这样做会显示 merge 胜利, 然而代码却没有过去,
    正确的出解决办法是把以后的的 src 打一个压缩包,而后在切换到 master, 在将 src 压缩包还原即可,不过这样问题就是如果之前的 master 上未合并的代码那就回导致 代码失落
    那么如何优雅的解决这个问题呢?
    咱们能够抉择在以后分支创立分支,而后在切换到 master 上,进行 merge,最初在手动创立的分支即可!

    至于头指针批改的就不必管了 git 会主动回收,并且切换到 master 当前在运行 git branch 也是看不到那个分支存在的

    至于说为什么不要乱动,因为咱们一个大神一顿操作,我疯了😖

正文完
 0