git如何撤销commit的方法(未push)_相关技巧

来源:脚本之家  责任编辑:小易  

撤销一个“已公开”的改变 场景:你已经执行了 git push,把你的修改发送到了 GitHub,现在你意识到这些 commit 的其中一个是有问题的,你需要撤销那一个 commit.方法:git revert 原理:git revert 会产生一个新的 commit,它和指定 SHA 对应的www.zgxue.com防采集请勿采集本网。

撤销commit一般用git reset ,语法如下:

git 禁止直接push master 怎么提交 搜索资料 我来答 分享 微信扫一扫 网络我们会通过消息、邮箱等方式尽快将举报结果通知您。 说明 0/200 提交 取消 新手

git reset [ --mixed | --soft | --hard] [<commit ID>]

Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro)Git 的更多介绍,请参考我的上一篇博客:Git 版本管理工具一、 Git 命令初识在正

1.使用参数--mixed(默认参数),如git reset --mixed <commit ID>或git reset <commit ID>

Commit只是提交到本地仓库,如果别人不能登录你本地查看代码,就看不到你的commit 信息,push是提交到远程共享仓库,有读权限的人才能看到哦

撤销git commit,撤销git add,保留编辑器改动代码

git add -A, git commit -m "你的日志", git push最后提个醒,如果有改动最好还是直接push上去好,不然到最后累的是自己。

2.使用参数--soft,如git reset --soft<commit ID>

一,常规的操作 1, 首先按需修改文件 echo >> lz66303.txt 2, 然后按需提交被修改的文件到HEAD缓存区 git add lz66303.txt 3, 再把这个修改记录到分支中 git commit -m"This is a commit created by lz66303." 二,合并的操作 1, 首先按需修改文

撤销gitcommit,不撤销git add,保留编辑器改动代码

3.使用参数--hard,如git reset --hard <commit ID>——此方式非常暴力,全部撤销,慎用

撤销gitcommit,撤销git add,删除编辑器改动代码

开始撤销commit的示例:

输入git log,我们可以看到最近的3次提交,最近一次提交是test3,最早的一次是test1,其中一大串黄色的字母commit id(版本号)

如果嫌输出信息太多,可加上--pretty=oneline参数,即

git log --pretty=oneline

接下来,按下键盘上的字母q退出git日志,准备进行撤销commit

Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交commit id,上一个版本就是HEAD^(或者HEAD~1),上上一个版本就是HEAD^^(或者HEAD~2),同理往上N个版本写N个^不太现实,我们写成HEAD~100。

现在,我们要把当前版本test3上一个版本test2,就可以使用git reset命令:git reset --hard HEAD^,再查看日志,发现已经剩下2个commit版本了

git reset --hard HEAD^

最新的那个版本test3已经看不到了,此时你想起有一行代码写得很好,想回到test3版本看下,怎么做?

办法其实还是有的,只要上面的命令行窗口还没有被关掉,记录还是在,使用命令git reset --hard commit_id可以回退到指定的版本,比如当前例子,我们找到那个test3的commit id是e09af7ae711e2a79c15144c1e792fb2e27d201ff,然后输入下面指令就回来了

git reset --hard e09af7ae711e2a79c15144c1e792fb2e27d201ff

版本号可以不用写全,输入前4位或更多也是可以,Git会自动去找,不能只写前一两位,因为Git可能会找到多个版本号。比如,看完test3版本的代码后,现在想回退到最初test1版本,我们找到那个test1的commit id是ab7b0c2b6e10a20d524156a81f6d4bc15a4ea7f3,然后输入下面指令就回来了

git reset --hard ab7b

最后在Git中,总是有后悔药可以吃的,Git提供了一个命令git reflog用来记录你的每一次命令,通过它可以查到每个commit id,方便你前进或者回退到指定的版本

到此这篇关于git如何撤销commit的方法(未push)的文章就介绍到这了,更多相关git撤销commit内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

git log 本地branch^远程分支 可以知查看本地有远程没有的提交。git log 远程分子^本地branch 可以查看远程有,本地没有的提交。本地分支是自己建立的分支如道master,远程分支一般是origin/XXX,这个仓的远程库。你自己提交代码是先add,然后commit。这个时候是提交在自己的本地分支内。git push或者repo upload的命令执行的是往中心库的容提交。就比如你吃饭。中心库就是锅里的。远程分支是盘子里的。本地分支是碗里的。你所有操作都是在操作本地分支的内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • git回退代码到某次commit的实现方法
  • git修改已commit的注释信息实现
  • 浅析git server“丢失”commit问题
  • 程序开发中的几个请不要相信
  • php/asp/asp.net中判断百度移动和pc蜘蛛的实现代码
  • 关于图片存储格式的整理(jpeg格式介绍)
  • 彻底理解cookie,session,token的使用及原理
  • 算法系列15天速成 第十天 栈
  • wap开发中如何有效的利用缓存减少消息的传送量
  • 高性能web开发 图片压缩篇
  • 详解vscode打开多个项目文件夹的解决方法
  • 使用git代替ftp部署代码到服务器的例子
  • 关于代码阅读问题的小技巧 脚本之家原创(适合所有网站)不定时更新
  • git没push成功,但本地成功了,怎么重新提交
  • 如何在git上取消push操作
  • git提交push时怎么将不需要的不push
  • git 提交到本地但未push到远端的代码
  • git 禁止直接push master 怎么提交
  • GIT怎么控制用户能不能强制PUSH或者DELETE分支、创...
  • 关于GIT,本地随意提交的COMMIT,在没有PUSH的情况...
  • 初学git,commit了多次才push到remote,怎么删除不...
  • Git 命令有能一步完成单个文件的 add,commit 和 p...
  • git push 之前忘记 git pull,已经commit了怎么办
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全javascriptasp.netphp编程ajax相关正则表达式asp编程jsp编程编程10000问css/htmlflex脚本加解密web2.0xml/rss网页编辑器相关技巧安全相关网页播放器其它综合dart首页git回退代码到某次commit的实现方法git修改已commit的注释信息实现浅析git server“丢失”commit问题程序开发中的几个请不要相信php/asp/asp.net中判断百度移动和pc蜘蛛的实现代码关于图片存储格式的整理(jpeg格式介绍)彻底理解cookie,session,token的使用及原理算法系列15天速成 第十天 栈wap开发中如何有效的利用缓存减少消息的传送量高性能web开发 图片压缩篇详解vscode打开多个项目文件夹的解决方法使用git代替ftp部署代码到服务器的例子2019最新的pycharm激活码(推荐)进制转换算法原理(二进制 八进制eclipse 格式化代码时不换行与自微信小程序设置http请求的步骤详几款开源的中文分词系统十进制负数转换为二进制、八进制从console.log说起(console.log详url 长度有限制吗?git 撤销操作、删除文件和恢复文vscode怎么编译运行浅谈解决360兼容模式浏览器的方法git标签管理git 的基本操作、开发流程、实用技巧总结git的基本操作详解算法系列15天速成 第四天 五大经典查找【详解http协议(很经典)web通信 分析工具 [推荐]算法系列15天速成 第一天 七大经典排序【
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved