前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何优雅的合并代码

如何优雅的合并代码

原创
作者头像
小江的学习日记
发布2024-08-15 00:30:15
1200
发布2024-08-15 00:30:15

IDEA中的代码合并

合并代码我相信大家都会,但要是一手merge走天下,遇到高手可就要趴下啦!

现代的IDE图形化界面做的很好,git的很多功能原理可以不用了解的那么深刻,只是操作看看就会啦。下面直接上图!

环境:IDEA Community 2024.1

写在前面

下面的很多操作都涉及了提交的变更,若提交还未推送远端不会有问题,但若是已经推送了远端,需要使用强制推送来覆盖。

强制推送存在一定风险,但不需要投鼠忌器,这里推荐使用git push force--with-lease(git >= 1.8.5),相比于

git push force,使用上会安全些(当远端其他人推送了新的提交,本次推送会失败)

merge

merge 是代码合并最简单的方式,所有代码合并的情况都可以使用 merge 。合并默认使用的是 fast-foward 模式,如下图所示,当合并两个分支时,若顺着一个分支走下去能到达另一个分支,git 只会移动分支指针,也就是说,不会创建新的 commit 节点。但是这样会丢失合并的信息 ,若想要在任何时候都保留合并信息,可以使用 no-fast-forward 选项。

git merge
git merge

当已经完成一次git commit后,发现自己遗漏了一些修改,马上再补充一次 commit 固然可以解决问题,但是会造成提交记录的重复和不美观。此时,可以考虑使用git commit --amend,该命令会将本次提交内容和上一次提交内容合并为一个提交。

rebase

相比于 merge,rebase 提供了更灵活的合并手段

  • reword:想要修改、补充提交信息时
编辑commit信息
编辑commit信息
  • squash/fixup:想要将多个提交合并时
合并多个提交
合并多个提交
  • drop:想要去除某个提交时
去除某个提交
去除某个提交
  • rebase-onto:想要应用父分支的提交到自己的分支
rebase
rebase

cherry-pick

当发现自己的提交写错分支,或者想要快速将另一个分支的某个提交合并到自己的分支,可以考虑使用 cherry-pick。

cherry-pick
cherry-pick

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IDEA中的代码合并
    • 写在前面
      • merge
        • rebase
          • cherry-pick
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档