git push 基于 detached HEAD 上的修改

更新日期: 2018-07-20 阅读次数: 8190 分类: Git

在服务器上调试代码时,做了一件非常愚蠢的事情。由于 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 聊聊, 查看更多联系方式