GIT代码回退(git reset)
2017-01-09 00:00
197 查看
摘要: 开实际开发过程中经常会碰到几种代码回退的情况,有些是需要本地回退就好,有些是需要远程回退,有些还需要清理commit日志等,在此做个记录~
如果可以重来,该有多好,显然生活中你做错了什么就不能再重来了,然而在git中,你可以肆意的重来,想怎么回退就怎么回退,清理痕迹不让别人发现。
git reset --soft commit_Id
将HEAD指向给定提交。索引和工作目录的内容保持不变。
git reset --mixed commit_Id
将HEAD指向给定提交。索引内容也跟着改变以符合给定提交的树结构,但是工作目录中的内容保持不变。
git reset --hard commit_Id
将HEAD指向给定提交。索引的内容也跟和改变以符合给定提交树结构,此外,工作目录的内容也随之改变以反映给定提交树的状态。
**git reset选项影响:
**
ref:
Git的撤消操作 - 重置, 签出 和 撤消
如果可以重来,该有多好,显然生活中你做错了什么就不能再重来了,然而在git中,你可以肆意的重来,想怎么回退就怎么回退,清理痕迹不让别人发现。
1、git reset命令简介
你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。git reset --soft commit_Id
将HEAD指向给定提交。索引和工作目录的内容保持不变。
git reset --mixed commit_Id
将HEAD指向给定提交。索引内容也跟着改变以符合给定提交的树结构,但是工作目录中的内容保持不变。
git reset --hard commit_Id
将HEAD指向给定提交。索引的内容也跟和改变以符合给定提交树结构,此外,工作目录的内容也随之改变以反映给定提交树的状态。
**git reset选项影响:
**
选 项 | HEAD | 索 引 | 工 作 目 录 |
---|---|---|---|
--soft | 是 | 否 | 否 |
--mixed | 是 | 是 | 否 |
--hard | 是 | 是 | 是 |
2、本地代码回退,远程代码也需要回退
//讲本地的代码回退到某个历史commit git reset --hard ba81bb598b95baa76811d6080a1b92d99c8404ec //远程提交回退---- git push origin HEAD --force git push -f//这个也可以
ref:
Git的撤消操作 - 重置, 签出 和 撤消
相关文章推荐
- git commit 回退 reset
- Git remotes/origin/pr/* 分支清理,代码回退等
- git撤销commit,错误reset后恢复本地代码;git忽略已经被纳入版本管理的文件
- git常用指令 github版本回退 reset
- git push 操作代码回退
- git实验之代码撤消与回退
- Android Studio使用GIt提交代码到本地仓库后没有Push,如何回退保存
- git代码回滚:Reset、Checkout、Revert的选择
- git repo回退代码
- git reset 后代码丢失 代码未commit
- git reset-----git 本地仓库回退
- git查看提交历史并进行代码回退的方法
- git reset(回退add操作)
- git入门(5)-Git revert和git reset版本的回退
- git 版本回退之关于git reset --hard 和 --soft区别
- Git remotes/origin/pr/* 分支清理,代码回退等
- git实验之代码撤消与回退
- 辛星浅析git中的代码撤销与回退
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- 使用git命令 (git reset --hard HEAD) 回退版本信息