git push --force 的后悔药: git reflog

向远程临时分支推送内容,偶尔会遇到部分代码忘记提交的情况,这个时候可以在本地回退修改后再提交。

git reset --soft HEAD^
... 修改 ... ... commit ...

重新推送到远程会失败,此时需要将--force或-f强制推送,远程分支的提交记录就和本地的一样了。

git push origin branch1 --force

如果发现远程分支选错,推送到了其它分支,或者想把远程推送恢复到首次推送的状态(强制推送之前的状态),可以使用reflog。

复制代码
# 查看远程分支的reflog
git reflog show remotes/origin/branch1

d11110e (origin/branch1) remotes/origin/branch1@{0}: update by push
82ab282 remotes/origin/branch1@{1}: update by push
5333384 remotes/origin/branch1@{2}: update by push

# 找到丢失提交的哈希值,在本地回退
git reset --hard 82ab282

# 再次强制推送到远程
git push origin branch1 --force
复制代码

 

  

posted @   卡卡什么卡  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示