当前位置: 首页 > article >正文

Git撤销已经push到远程分支的commit

有时想要撤销已经push到远程仓库的commit,将代码还原为commit之前的样子,应该如何做呢?

如果只有自己使用的分支:可以使用git reset命令

git log 查看需要还原的commitId,如下截图,

我们需要撤销ffe4a的提交,即将代码还原到3082966的commitId上


回退代码

执行git reset --soft commitId,soft可以换为hard,但两者有区别

  • soft:表示会保留当前工作区,即保留commit前修改的内容
  • hard:表示会撤销工作区内容,即不保留commit前修改内容

撤销后再次git log查看是否撤销成功

覆盖远程分支git push origin 分支名 --f 即可

如果是两人共同开发这个分支,那么使用reset去回退是有问题的,如果他人本地仓库的代码比远程仓库代码新,他人此时拉取代码的话,是不能拉到你回退后的代码的,就算他人pull代码,你的提交记录依旧在, 而且如果他人有了新的修改进行了提交,你回退的版本又会重新出现。

这时候我们可以使用git revert 命令

git revert commitId 来撤销某次commit

再git pull origin 分支名称 -f 下即可


http://www.kler.cn/a/106239.html

相关文章:

  • 为正在运行的 Docker 容器重启策略,以提高服务的可用性
  • 【ubuntu18.04】vm虚拟机复制粘贴键不能用-最后无奈换版本
  • 基于SpringBoot的旅游网站(程序+数据库+报告)
  • AntFlow:一款高效灵活的开源工作流引擎
  • HMI FUXA测试
  • 本地部署Apache Answer搭建高效的知识型社区并一键发布到公网流程
  • Java BigInteger比Long更大的整数自增转字符串存储
  • “如何应用数据分析提升软件开发流程效率?”
  • 代码审计及示例
  • 离线电商数仓(三)
  • 算法通关村第三关-青铜挑战数组专题
  • Golang Websocket框架:实时通信的新选择
  • SLAM从入门到精通(lidar的运动畸变矫正)
  • 【springboot单元测试,集成测试】
  • FLStudio21完整版编曲软件多少钱?要不要购买
  • 【电路笔记】-电路中的复数与相量(Phasor)
  • uni-app配置微信开发者工具
  • Java练习题2021-4
  • C#开发的IEnumerable接口
  • 将安全作为首要目标 — Venus 的现状和前景展望
  • 【c++】打家劫舍(动态规划)
  • 嵌入式实时操作系统的设计与开发(信号量学习)
  • 模型调参优化
  • 一文拿捏内网穿透利器之frp(反向代理软件相关)
  • 【linux】安装rpmrebuild
  • CDR和AI哪个软件更好用?