转自:http://blog.csdn.net/u010416101/article/details/78142697、https://www.zhihu.com/question/48178380
方法一
可以新建一个分支,然后选择你想回退到到那个版本,切换到新分支之后,代码就是那个版本了,可以对那个版本进行操作,修改等,如果想回到之前最新版本,直接切换分支到原来到分支即可,这样相互不影响,Reset master to this commit 只有是hard的时候,项目里代码内容才是你想切到的版本内容,不过这样会把你新改的代码丢失了。如果需要保留后面commit的更改就选mixed。
方法二
1. 原理
原理,我们都知道Git是基于Git树进行管理的,要想要回滚必须做到如下2点:
- 本地头节点与远端头节点一样(Git提交代码的前提条件);
- 于本地头节点获取某次历史节点的更改。
说的有点抽象,以图来进行形容。
2. 详细步骤
步骤简记如下:
两个节点 当前节点(最新节点) 与 历史节点
1 点击历史节点,重置到历史节点,选择硬合并;
2 点击当前节点,重置到当前节点,选择软合并;
3 提交;
PS: 注意检出Head 不是重置步骤!Head节点是不属于任何一个节点的。
3. 详细步骤(图示)
1 点击历史节点,重置到历史节点
2. 选择硬合并;
3. 点击当前节点,重置到当前节点;
4. 选择软合并;
5. 提交;