git push 基于 detached HEAD 上的修改

文章目录

    在服务器上调试代码时,做了一件非常愚蠢的事情。由于 revert 失误,产生了一个错误的 commit,为了不影响同事的接口调用,我 checkout 到了一个历史版本上。

    然后,我开始不断 revert 有问题的 commit。终于,把代码恢复到了一个正常的状态。

    但是,当我想 git push 这些 revert 改动时。

    git push origin master
    

    发现无论如何都提交不到 git 仓库,显示并没有 commit 需要提交到 remote。

    git status
    HEAD detached from fa4065e
    

    git status 之后,我才意识到,我原来是在一个 detached HEAD 上。

    Google 之后才知道,需要加上 HEAD:

    git push origin HEAD:master 
    
    Counting objects: 32, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (26/26), done.
    Writing objects: 100% (32/32), 2.94 KiB | 0 bytes/s, done.
    Total 32 (delta 15), reused 0 (delta 0)
    To code.aliyun.com:xxx/xxx.git
       2f97a0b..53ca957  HEAD -> master
    

    参考

    https://stackoverflow.com/questions/35736116/making-a-git-push-from-a-detached-head

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式