Git撤销操作

作者: cccccchenyuhao | 来源:发表于2018-10-04 01:53 被阅读48次

参考资料:Git文档_重置揭秘

文档看了好几遍,还是很混乱。把命令行敲一遍一下子就清晰了。写代码还真是个实践出真知的活儿

git撤销操作

命令 功能
git commit --amend 将暂存区的文件提交。此次提交会代替上一次提交的结果,最终只有一个提交
git reset --soft 移动HEAD的指向,索引不变,工作目录不变
git reset --mixed 默认行为,索引变,工作目录不变
git reset --hard 如果暂存未提交会丢失。索引变,工作目录变
git reset <filename> 实质上是将文件从HEAD复制到索引中,与add相反
git revert 将你提交的变更逆向应用到一个新的提交中
git branch --<filename> 将文件还原成上次提交的样子

首先,我们创建一个本地库并初始化

创建文件v1然后add,commit

重命名v1为v2然后add, commit

重命名v2为v3然后add, commit

git log有3条重命名的记录

Screen Shot 2018-10-04 at 01.21.58.png

执行git reset —soft HEAD~

Screen Shot 2018-10-04 at 01.25.45.png

可以看到文件名还是v3,索引区为v2 -> v3, git log只有2条记录

相当于回滚了最后一次commit的提交

工作区、索引区的数据不变

然后add,commit 还原v3,生成一条新的v3记录

Screen Shot 2018-10-04 at 01.30.04.png

接下来使用git reset HEAD~

Screen Shot 2018-10-04 at 01.36.57.png

相当于回滚了最后一次commit, add的提交

工作区不变,索引区回滚至v2的状态

add, commit还原v3

最后git reset —hard HEAD~

Screen Shot 2018-10-04 at 01.41.46.png

可以看到,测试文件变成v2,这说明工作区也回滚了,索引区也清理了,这种方式有销毁数据的可能,慎用。

相关文章

  • Git命令详解(转)

    Git命令详解 添加操作 提交操作 删除操作 撤销操作 在Git中,用HEAD表示当前版本。 撤销add 撤销co...

  • Git revert 代码回滚

    没有git rollback,git revert 即使回滚代码。 git revert 撤销 某次操作,此次操作...

  • Git如何撤销merge操作

    Git如何撤销merge操作。当 merge 以后还有别的操作和改动时,用 git revert:该命令就是为撤销...

  • 2019-01-15

    git reset和git revert命令 atom blog git revert是撤销某次操作,此次操作之前...

  • Git 撤销commit文件 和 回退push的文件

    1、撤销 commit 的文件2、撤销 push 的文件1、git reset2、视图操作 reset3、git ...

  • Git---revert

    撤销某次提交:git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且...

  • git撤销或回退操作

    撤销操作 还未放到暂存区git checkout -- [file] git reset Head

  • git学习日志-撤销

    在使用git时,总会遇到需要撤销某些操作的情况。下面就介绍几种撤销操作: 重新提交; 取消暂存的文件; 撤销对文件...

  • 真 git 操作大全 不会就看

    git 常用命令git 远程操作git 撤销操作 推酷git大全 react router4 中文文档 koa 简...

  • git撤销操作

    撤销上一次提交并将暂存区的文件重新提交git commit --amend(后无描述)下一次先add到暂存区然后 ...

网友评论

    本文标题:Git撤销操作

    本文链接:https://www.haomeiwen.com/subject/jdntaftx.html