简介
在程序员理论工作过程中,提交代码后,偶然也有悔恨的时候,然而都提交到本地仓库或者推送到近程服务器了,可怎么办?我想要回到某一个提交的版本,git 就很贴心的提供了对应的性能,能够让你得心应手的悔恨。尽管世界上没有后悔药,然而 git 能够做到。
git reset 前置常识
- 应用 git reset 之前,须要对 git 中的区域有肯定的理解。git 中的区域划分为工作区(WorkSpace)、暂存区(Stage/Index)、本地库(Local Repo)和近程库(Remote)四个区域。
- 同时 git reset 还须要跟三个参数联结应用,成果更好
- –hard
- –mixed
- –soft
三个指令的区别:对于工作区、暂存区、本地仓库的回滚的粒度范畴不一样,能够依据理论的需要抉择不同的参数来回滚不同区域的代码。
git reset –hard 指令图解
- 应用以后的命令,工作区、暂存区、本地仓库都会回滚到对应 commit-id 上
git reset –mixed 指令图解
- 应用以后的命令,工作区代码不会受到影响,然而暂存区、本地仓库区的代码曾经回滚到了 YY 对应的 commit-id 上。
git reset –soft 指令图解
- 应用以后的指令,工作区和暂存区的代码不会受到影响,然而本地仓库的代码会回滚到 YY 对应的 commit-id 上
总结
对于 –hard,–mixed,–soft 参数,能够依据具体情况应用,区别就是 git 中工作区、暂存区、本地仓库是否会受到影响。依据上文能够看出,他们三个对于 git 区域的影响范畴一次递加。如果有良好的 add,commit 的习惯(依据工作进度及时 commit,不要所有的货色一次性梭哈)倡议应用 –hard 模式,然而同时能够跟其它的指令综合应用,比方:
git stash -m '暂存信息'
git reset -- 模式 commit-id