大家在网上搜到的回退到上一个版本应该都能看到吧,基本上都是这个结果
(注:这里借的图,来源:来源链接)
我先说注释事项:
注意!!!这个按钮的核心逻辑是为了先删除本地中上次提交的所有内容 ,然后重新提交到git上,由此来实现回退代码的目的。
但,要知道,这个跟你们想要的功能不是一个功能。我知道大家要的功能是,我需要回退上次提交的代码,然后切换到其他分支再进行提交!
这个你点击 “Revent Commit” 后这时右下角会提示你回滚完成了
这时你会发现你上一次提交的文件名称变成了蓝颜色(被修改的状态),你以为是退回到上一个版本还没有提交的状态。
但只是你当前版本的代码回到了上个版本(就是说你上次修改的代码,被idea从本地删掉了)。
这么说可能有点绕口,我给你说一下我处理的整个事情流程,希望对你有所帮助,先放图
(原谅我,我没有标数字123的那个功能)
上图中的看法顺序为 红、黄、蓝、绿
还原过程:
我们当时本应该是在红色箭头的位置,打了个分支(蓝色箭头),在分支上提交代码,主 master 是不再进行提交代码了
但我犯了错,提交错了分支,导致我把部分功能提交到 master 上(也就是上图中的黄色箭头所指向的位置),这时,我们应该是想着将主 master 提交的代码回退了,并且连 Git 上都不该有这条记录的回退的功能。
但等我点击 “Revent Commit” 后,发现之前修改的文件都变成了蓝色(文件被修改的状态),再按 提交本地库(Ctrl + K),查看详细代码后发现,其实 idea 只是把我现在本地的代码中将黄色部分提交的代码删除了,等于说你还得再在 master 上再提交一次,
这次提交的是为了删除你上次提交的东西(也就是绿色箭头上面写的 空的变更列表 ‘XXXXX’ 不再活动。 你想去掉它吗)
可能不是很好理解,
然后?然后需要把你之前的代码重新粘出来,然后切换到其他分支,再把代码粘进去,然后提交到git上,流程是麻烦了点,而且仅限于改动比较少的情况,代码改动多了提交错了… 珍重。
要是有朋友会删除git上次提交错位置的代码,迁移或者能重新提交到其他分支的方法,还望不吝赐教。
完