目录
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 commit
后,发现自己遗漏了一些修改,马上再补充一次 commit 固然可以解决问题,但是会造成提交记录的重复和不美观。此时,可以考虑使用git commit --amend
,该命令会将本次提交内容和上一次提交内容合并为一个提交。
rebase
相比于 merge,rebase 提供了更灵活的合并手段,鉴于现代IDE图形化界面做的很好,这里就直接使用 IDEA 结合一些场景讲下常用的一些 rebase 功能
环境:IDEA Community 2024.1
- reword:想要修改、补充提交信息时
- squash/fixup:想要将多个提交合并时
- drop:想要去除某个提交时
- rebase-onto:想要应用父分支的提交到自己的分支
cherry-pick
当发现自己的提交写错分支,或者想要快速将另一个分支的某个提交合并到自己的分支,可以考虑使用 cherry-pick。
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容