首先需了解一下:
1.Mixed(默认):它回退到某个版本,本地会保留源码,回退commit和index信息,若要提交重新commit。
2.soft: 回退到某个版本,只回退了commit的信息,不会恢复到index file一级,若要提交重新commit。
3.Hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。
参考文章:https://blog.csdn.net/geng31/article/details/78585557/
将当前文件恢复历史版本步骤
1.显示当前文件的历史版本
2.直接恢复历史版本,此时相当于修改了本地代码为历史版本的代码,可以commit
将整个项目恢复历史版本
1.在“Show History”中找到当前版本(取名:newVersion)和想要回退到的版本(oldVersion)
2. 选择newVersion和oldVersion点击“Copy Revision Number”复制两个版本的版本号:
newVersion:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c
oldVersion :6bc5691cbe7304cb185b70fbc0dd975c7de86e8a
3. 右击项目依次选中:Git->Repository->Reset HEAD
4. 选中Reset Type:Hard, To Commit:6bc5691cbe7304cb185b70fbc0dd975c7de86e8a;然后点击Reset按钮
5. 这时本地代码已经回退到oldVersion,这时候如果直接push到远程仓库,会提示版本冲突,点击“cancel”取消。
6. 下面有两种解决冲突的方法
方法一 :不解决,直接强制提交:
a. 打开Terminal,切换到项目所在目录
b. 执行:spring-mvc $git push -f
方法二:
a. 右击项目依次选中:Git->Repository->Reset HEAD
b. 选中Reset Type:Mixed, To Commit:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c;然后点击Reset按钮
c. 这时你会发现,最新版本有回到newVersion。但是代码还是oldVersion的代码,这时候重push到远程仓库就不会版本冲突了
7. 方法一vs方法二
方法一会将回退的提交记录抹点,而方法二会保留
8. Done
IDEA中Git的更新、提交、还原方法
第一步.在提交项目之前必须先对项目进行更新,此项特别重要,如果不进行更新,别人有项目提交到服务器上,那么你的项目将会提交不上去,使用git解决冲突会比较麻烦,即使你解决了冲突,但是有时候不注意会冲掉别人写的代码,不像svn使用那么简单,所以提交自己项目前必须进行更新(特别重要);如图1:选择pull进行更新代码操作;
第二步. 更新后的结果如图2、3;其中图2:表示从服务器上更新下来的代码;图3:表示服务器上没有需要更新的代码,当服务器上没有需要更新到本地的代码时,则可以放心的进行提交代码的操作;
第三步:1.当确定第二步操作完之后,此时可以进行提交代码的操作,图4中表示中红色的项目表示新创建的项目{注:如果是蓝色,表示修改过的项目}(红色和蓝色都表示待提交项目),如果是红色的,则选择图5:add,如果项目是蓝色,则选择图5.1 :commit file;
2.当add操作完成之后项目颜色会变成绿色,如图6,红色表示为进行add操作;
3.进行commit Directory操作 如图7:
4.当出现如图8的窗口时,绿色和蓝色表示待提交项目,在这里可以进行相应的勾选,下面的commit message区域填写,模块名称或者提交代码的相应信息,下面的下拉菜单选择commit and push,如红色8区域;
5.如图9:当出现下面窗口时,选择红色区域9部分的push按钮,进行提交项目操作,至此项目提交所以操作完成,需要等几秒钟会有相应提交成功或者是提交失败的提示,如果提交失败则表示,你本地项目没有进行更新,和服务器上的项目有冲突,需要解决冲突,然后才能提交(注:当pull失败时,说明服务器上的代码和本地代码有冲突,这时则需要把本地有冲突的代码备份,然后还原,再pull,这时pull成功后,再把自己备份的代码部分,拷入相应的代码中,这时候再进行push就可以了)。
第四: 还原操作:如图选择10区域按钮:revert进行还原操作;
intellij idea之git执行打标签(tag)和删除标签
https://www.cnblogs.com/lmaplet/p/9672350.html
问题
1.Git 在clone或者push的时候出现SSL证书错误的解决方案 - SSL certificate problem: unable to get local issuer certificate
在windows下输入git config --global http.sslVerify false