git -- idea代码冲突与版本回退

时间:2024-04-04 11:29:58

一、 代码冲突

1、更新冲突
模拟冲突

1、github 修改文件代码并提交 == 模拟其他用户修改并提交了代码
2、修改本地代码并提交到本地仓库
3、pull(更新)项目出现冲突

解决冲突
出现冲突自动弹出冲突界面,如果没有弹出或者是关闭掉了,
项目上右键 --> Git --> Resolve Conflicts…
git -- idea代码冲突与版本回退

解决冲突界面,修改中间的最终版本代码,解决冲突代码,在Apply

git -- idea代码冲突与版本回退
2、提交commit冲突
模拟冲突
1、github 修改文件代码并提交 == 模拟其他用户修改并提交了代码
2、修改本地代码并commit到本地仓库
3、Push项目出现冲突
解决冲突
选择Merge 解决冲突

git -- idea代码冲突与版本回退
git -- idea代码冲突与版本回退
解决冲突,和更新冲突一致
git -- idea代码冲突与版本回退

如提交失败再次 Push 就ok 了

二、更新历史

提交历史:右击项目 ——> Git ——> Show History

git -- idea代码冲突与版本回退
git -- idea代码冲突与版本回退

三、版本回退

1.打开更新历史
右击项目 ——> Git ——> Show History
git -- idea代码冲突与版本回退
2.复制最版本和要回退的版本
1、选中,点击“Copy Revision Number”复制两个版本的版本号:
git -- idea代码冲突与版本回退
2、保存下来:
最新版本:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c
回退版本:6bc5691cbe7304cb185b70fbc0dd975c7de86e8a

3 右击项目依次选中:Git->Repository->Reset HEAD

git -- idea代码冲突与版本回退
4.
Reset Type: Hard, Reset Type: Hard,
To Commit: 输入回退版本 ;
然后点击Reset按钮*
git -- idea代码冲突与版本回退

5、这时本地代码已经回退到oldVersion,这时候如果直接push到远程仓库,会提示版本冲突,点击“cancel”取消。

6、 下面有两种解决冲突的方法

方法一 :不解决,直接强制提交:
1、 打开Terminal,切换到项目所在目录
2、 执行:git push -f

方法二:
1、右击项目依次选中:Git -> Repository -> Reset HEAD
2、Reset Type: Mixed
3、To Commit: 输入最新版本
4、Rese确定

c. 这时你会发现,回到最新版本。但是代码还是回退版本的代码,这时候重push到远程仓库就不会版本冲突了

方法一vs方法二
方法一会将回退的提交记录抹点,而方法二会保留