如何解决版本提交错误后,分支回滚的问题 如图
image.png
 现在想回滚到 想要回滚的版本  通常用两种方法1种 方法 是通过使用的idea 进行代码回滚 1. 展示提交历史 2. 
image.png
2.找到对应的需要回滚的 版本 
image.png
  选择hard,这里直接选择hard四种方式Soft (软重置):中文:软重置作用:文件不会改变,差异将被暂存以供提交。Mixed (混合重置/默认重置):中文:混合重置作用:文件不会改变,差异不会被暂存。这是默认的重置方式。Hard (硬重置):中文:硬重置作用:文件将恢复到所选提交的状态。警告:任何本地更改都将丢失。Keep (保留重置):中文:保留重置 作用:文件将恢复到所选提交的状态,但会保留本地更改。 
image.png
 你就可以看到本地已经恢复到 这个版本   把更改推送到远端分支就可以了  然后会出现拒绝,选择cancel
image.png
 出现这种情况可以切换到所在目录 , 用git push -f 进行提交.需要注意的是 git的master 是受保护的项目,如果不进行修改的话,是不能强制提交的*这里需要将master 的保护去掉,提交后在重新设置保护 protect
image.png
 7.这里选择强制推送  2种 直接在代码库中进行代码回滚  找对 对应的代码源 , 查看 原来的 merge request
image.png
 在原有的merge请求上进行调整 
image.png
 选择 你需要回滚的分支
image.png
 点击 revert 就可以了 在本地IDEA中选择Git->Fetch,右下角显示成功后就获取到所有分支的改动,然后选择Git->Merge Changes,弹出的界面选择你合并的分支,点击Merge。此时远程仓库和本地仓库都回退到commit之前的代码。  提交代码库的时候会报Sorry, we cannot cherry-pick this merge request automatically. This merge request may already have b
image.png
 错误 主要是因为你要回滚的版本 在后面又提交了 这个版本更改的内容 , 所有会报这个错误 , 你只需要把之前的版本也按照顺序给回退了就行了  提交完后可以 对比两个分支的差异,  根据差异来确定你是否 更改的正确
image.png
  会展示出来对应的差异
image.png
 


新友
1 声望0 粉丝