本地仓库和远程仓库分支回退到指定的历史版本(idea)
已经提交到仓库(本地和远程仓库)的内容利用IDEA回退到原来指定版本
Revert操作:Revert操作会当成一个新的提交记录,追加到提交日志当中,这样便保留了原来的提交记录。
在想要回退历史版本上单击鼠标右键
如果有冲突,双击冲突文件查看冲突,并解决
回退后重新提交,可以同时 push 到远程仓库
这种回退的好处在于,如果后悔了“回退”这个操作,也可以回退到没有回退之前的版本,因为历史记录还保留提交记录,
但是新添加的文件被提交上去不会因为回退版本而删除,仅仅是回退修改的文件,有冲突就手动解决。
利用IDEA的Reset Head指针:Reset Head指针,会抛弃原来的提交记录,使Head指针强制指向指定的版本。
在想要回退历史版本上单击鼠标右键
1、soft
未添加到暂存区的代码保留,暂存区的代码不变,已提交到本地库的代码恢复到暂存区
2、mixed
未添加到暂存区的代码保留,暂存区和已提交到本地库的代码都恢复到未暂存状态
3、hard
未添加到暂存区的代码保留,暂存区和已提交到本地库的代码都删除
4、keep
未添加到暂存区的代码保留,暂存区的代码恢复到未暂存状态,已提交到本地库的代码删除
此时本地仓库回退了,但远程仓库还没有,push到远程仓库,会提示拒绝,不能和远程仓库合并,因为合并就达不到回退的目的了
打开Terminal,在本项目目录下,输入git push -f 强制同步远程仓库。
同步后,会发现,git日志丢失了“第二次提交”以后的提交记录。