git 的版本回退reset

git 的一些基础概念

https://blog.csdn.net/candyguy242/article/details/46043207
git中的东西分三层存储,分别是Index, Working Copy,提交的库
head为当前Branch的最顶端的 commit
index相当于add上去的暂存区
working copy 当前目录下的文件

git reset

https://www.cnblogs.com/kidsitcn/p/4513297.html
git reset是一个回退的命令

git log 
....
git reset  hash_code

通过git log查看所需要回滚的版本的hash_code,然后使用reset 就可以回滚到那个版本。
附加选项有三个:
--mix(默认): Head回滚,index回滚, working copy不回滚
--hard: Head回滚,Index, wording copy都回滚
--soft: Head回滚,Index回滚,wording copy不回滚

正确的回滚姿势

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000/
由于使用了--hard进行回滚之后,本地文件本修改了,但是,以后的内容也没了,所以拷贝当前的一个分支,并且切换到该拷贝分支

#拷贝分支并且切黄
git checkout -b copy_branch branch_for_copy
git reset --hard hash_code

你可能感兴趣的:(git 的版本回退reset)