git reset --hard xxx , git reset --soft xxx , git revert xxx

git reset --hard xxx , git reset --soft xxx , git revert xxx

  • git revert

撤销某次操作(commit),并把这次撤销当做一次新的提交,版本号递增,就是用一次新的提交(commit)来回滚之前的commit。

撤销前一次 commit
git revert HEAD

image.png

首先,我分3次建立了3个文件夹!
首先,执行git revert head ,会删掉file3,并生成一次log记录。


image.PNG
image1.PNG
  • git reset

git reset 常用于代码回滚,是直接删除指定的 commit, 但是文件和修改会移动到 workspace 工作区.

1. git reset --soft xxx:

  • soft命令会让版本回到某次commit后的状态,但并不改动工作目录中的文件。执行git reset --soft后
    可以看出版本退回了q1,但之前提交的文件变成了有新改动的状态。

2.git hard (修改版本库,修改暂存区,修改工作区)

  • hard HEAD~1 (或是版本号)意为将版本库回退1个版本,但是不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本

  • 二者的区别:

git reset 是把HEAD向后移动了一下
git revert 是HEAD继续前进,只是新的 commit 的内容和要 revert 的内容正好相反,能够抵消要被revert的内容.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,668评论 1 26
  • git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...
    神刀阅读 3,805评论 0 10
  • 爱在你身旁
    小河清阅读 106评论 0 0
  • 觉得自己很没用 自己为是 自作聪明 却又自我否定 经不起挫折 优柔寡断 没有意志力 内心脆弱 又不知道哪里来的那么...
    稻子麦田阅读 163评论 0 0
  • 这个星期一学习了(战胜自我向前进,人生大变样)!我觉得战胜自我,说着容易,做着难! 就像我参加公司组织的学习,回来...
    三车间王中伟阅读 647评论 0 2