Git撤销已经推送(push)至远端仓库的提交(commit)信息
原文链接:https://blog.csdn.net/hanchao5272/article/details/79435730
有关修改提交(git commit)信息的方法可以参考: Git commit –amend 修改提交信息
有时,在git push之后,才发现还有一些代码需要进行很小的改动,这些改动在原则上不应该作为一次新的提交。
这时,我们需要撤销这次推送(git push)与提交(git commit),然后进行代码修改,再重新进行提交和推送。
为了实现这个目的,需要进行三步操作。
1.撤销提交信息
首先,通过git log查看提交信息,以便获取需要回退至的版本号:
$ git log
commit a44822002522f2ab1e3a5e2a1cec00a7d3d02185 (HEAD -> master, origin/master, origin/HEAD)
Author: hanchao5272 <89298141@qq.com>
Date: Sun Mar 4 11:14:55 2018 +0800CSDN-java反射06-成员变量Field-代码优化commit aa909cff2239536df14820fe086d96305b24e9f1
Author: hanchao5272 <89298141@qq.com>
Date: Sat Mar 3 23:43:03 2018 +0800CSDN-java反射-修饰符-代码优化
我们需要撤销CSDN-java反射06-成员变量Field-代码优化这次提交,所以需要回退至的版本是CSDN-java反射-修饰符-代码优化,即需要回退至的版本号是:aa909cff2239536df14820fe086d96305b24e9f1。
然后,通过git reset –soft <版本号>重置至指定版本的提交,达到撤销提交的目的:
$ git reset --soft aa909cff2239536df14820fe086d96305b24e9f1
参数soft指的是:保留当前工作区,以便重新提交
还可以选择参数hard,会撤销相应工作区的修改,一定要谨慎使用
然后,通过git log确认是否成功撤销:
$ git log
commit aa909cff2239536df14820fe086d96305b24e9f1 (HEAD -> master)
Author: hanchao5272 <89298141@qq.com>
Date: Sat Mar 3 23:43:03 2018 +0800CSDN-java反射-修饰符-代码优化
已经成功撤销。
2.撤销
通过git push origin master –force强制提交当前版本号,以达到撤销版本号的目的:
$ git push origin master --force
Total 0 (delta 0), reused 0 (delta 0)
To github.com:hanchao5272/myreflect.git+ a448220...aa909cf master -> master (forced update)
必须添加参数force进行强制提交,否则会提交失败,并报错:
$ git push origin master
To github.com:hanchao5272/myreflect.git! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:hanchao5272/myreflect.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
报错原因:本地项目版本号低于远端仓库版本号。
3.修改代码,重新提交和推送
//修改代码,添加修改
git add .
//重新提交
git commit -m "CSDN-java反射06-成员变量Field-代码优化"
//重新推送
git push origin master
Git撤销已经推送(push)至远端仓库的提交(commit)信息相关推荐
- Docker push命令推送镜像到远端仓库
这里以dockercloud.io仓库为例,首先在docker配置文件中配置远端仓库地址,传送门如下: Docker运维与实战(一)-Docker的前世今生 1.登录远端仓库 $ docker log ...
- 使用Git命令行推送代码到远程仓库,阿里云效Codeup代码管理平台
项目提交暂存.提交本地仓库.拉取.推送: [本步骤是新项目流程]请自行根据自有项目分辨是否需要跳过前两步. 右键点击项目根文件夹,选中Git Bash Here,打开命令行. (1)初始化项目命令: ...
- Git回退已经提交commit的(还未推送push的)代码及撤回代码回退
1.Git回退已经提交的代码 原文链接(原文写的是已经推送push的代码) http://t.csdn.cn/CDjgq 已经开始难过了,我提交后没有推送就按照上文提示进行了代码回退,结果idea里面 ...
- 【Git实战技巧】恢复被强制推送push失踪的代码
前言 Git是一个易学难精的分布式版本控制系统,被我们码农常用于代码的管理.如果你还不了解Git,建议先通过廖雪峰的Git教程进行了解,再来看本文,因为本文以使用技巧为主,不会在基础名词上做过多解释. ...
- 使用git新建分支推送项目
前言: 作者:神的孩子都在唱歌 一个还在努力的编程小白 转载请标注来源 使用git新建分支推送项目 一. 新建自己的分支 二. 推送项目到仓库 三. 错误 四. 参考 一. 新建自己的分支 如果单纯的 ...
- 【Git】IntelliJ IDEA 提交代码到 GitCode 远程仓库 ( GitCode 创建远程仓库 | 将本地工程推送到 GitCode 远程仓库 | 验证权限 | 生成个人访问令牌 )
文章目录 前言 一.GitCode 创建远程仓库 二.将本地工程推送到 GitCode 远程仓库 三.验证权限 前言 GitHub 又挂了 , 国内不太好用 , 现在开始使用 gitcode , 地址 ...
- Android Studio在Git上将项目推送到新的Url地址中
本来使用自己的码云库作为远程地址,后面需要推动到新的码云地址上. 1.首先新增新的地址: 2.取名字和添加新地址: 3.推送到新地址: 会发现被拒绝的提示: Push to XXX/master w ...
- idea中git替换,推送到新的github或者gitlab上面
借鉴 目录 git使用,命令行 初始化本地仓库,并提交内容到本地 连接到远程仓库,并将代码同步到远程仓库 继续修改本地代码,然后提交并推送到github idea中git使用合并分支 修改项目的git ...
- Git命令推送文件到远程仓库——码云还是GitHub小猫咪都可噢
我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...
最新文章
- 有了这套模板,再不担心刷不动LeetCode了
- SUSE 开发者提议在 GCC 编译器中用 Python 替代 AWK
- Allegro光绘的导出
- java的add方法的使用_Java HashSet add()方法与示例
- MySQL如何查全部序列_Oracle查询所有序列
- 《编程导论(Java)·9.3.1回调·3》回调的实现
- python display方法_python学习之Display
- 禅与 Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译)
- 运筹与决策(二)excel画图、公式与函数用法
- markdown设置字体颜色、大小、背景
- Canal 及canal.admin(v1.1.5)踩坑记录
- 高等数学下册学习笔记(二)
- ArcGIS之“检查几何”的内涵
- c语言自学怎么学精,新手自学C语言提高效率的方法(混精)
- 给想报考CISP的朋友
- 人生就是不断学习和修行-2018年个人总结
- JVM原理(二)执行引擎篇(JVM程序执行流程、JIT编译器、JIT编译器优化)
- 广州的11个辖区_广州有多少个区
- Blender精确移动物体轴心
- 利用ms16-032提权并打开3389端口
热门文章
- LS-DYNA中射流冲击模型的技术难点及案例模型
- 多态 (多态的用处,意义,应用)
- 按位异或运算符的讲解 (详细)
- Python+Vue计算机毕业设计玩得开心旅游网站8m2w8(源码+程序+LW+部署)
- 将子窗体展示到父窗体Panel中的方法,以及调用的按钮单击事件
- S11、反射系数、回波损耗
- [Phonegap+Sencha Touch] 移动开发12 Sencha Touch打包发布网站的离线缓存版本
- [C语言]自定义范围内求其中质数所有质数
- Neo4J入门笔记[2]---导出数据为CSV
- mac下 mysql data文件下的数据库恢复