当前位置:   article > 正文

Idea的环境下git的rebase(变基)_idea git rebase

idea git rebase

Idea的环境下gitrebase(变基)

背景

团队合作中可能会出现多次修改自己模块的代码,然后合并的时候的提交记录看起来会比较繁杂

image-20231229142438992

思路

把分支1的提交记录压缩为一条,然后在主分支cherryPick刚刚压缩的提交,实现整合

操作

选择变基基点

image-20231229142923112

操作变基

将需要进行操作的提交记录进行操作

image-20231229143257037

操作项
  1. reword(改写): 这一类commit也会保存下来,不过在保存下来之前会有一次修改commit message的机会

  2. edit(暂停编辑):这一类的commit也会直接保存下来,不过,当合并到这种类型的commit时,整个合并经常会暂停下来,你可以重新修改这次commit中的变动内容,比如给这个commit继续新增一些代码改动、或者修改commit message,然后git add(不要忘记 git add了), 再继续使用git rebase —continue,来继续rebase操作。

  3. squash(压缩):标记为squash的commit在rebase操作完成后不会保留,它会与之相邻的上一次commit进行合并。同时它的commit message也会与上一次commit的message合并。

  4. fixup(修补): 这类commit不会保留,会直接与相邻的上一次commit合并,与squash不同之处在于,它的commit message回直接丢弃,即这次commit会被视为对前一次commit的一次小的补充修改(fixup),commit message就以前一次为准

  5. drop(删除):标记为skip的commit会直接被删除,就相当于这次commit从来没有发生过。同时,这个commit中涉及的所有代码修改全部会被删除。

不进行操作

pick(选取): 标记为pick的commit会在rebase操作后会直接保留下来,不做任何改动,也不会合并,最上面的commit最好标记为这一类

这里,我选择Squash后再StartRebase

image-20231229143519795

推送

发起推送之后,会弹出提示框,push的时候它认为你本地的变更与远程版本不一致

  • 若选择rebase的话,就会发现恢复到rebase操作之前的记录

  • 若选择merge的话,可以看到处理的结果,原先的2条提交信息还在,只是会新生成一个整合后的提交。

image-20231229144058325

我们选择marge

看到刚刚的操作成功提交

image-20231229144232995

切换分支

checkOut为将要合并的分支

这里,我合并到master

image-20231229143850131

保证我们最终合并分支为master,进行合并分支为此前操作分支

image-20231229144432037

优选

进行操作

image-20231229144625247

双击master即可看见刚才操作生效

image-20231229144855205

此时确保无误即可推送

image-20231229145001805

解决冲突(有冲突才会弹出提示框)

把需要保留的代码保留推送

解决完即可强制推送

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/388768
推荐阅读
相关标签
  

闽ICP备14008679号