idea可视化使用git rebase合并分支步骤,确保主分支树不会出现杂乱分叉

博客介绍了Java开发中使用Git时,为何要用rebase。开发需求时创建个人分支,需求完成后合并提交记录,为保持提交记录洁净和分支树不分叉,需用rebase。还通过Idea的Git可视化提交演示步骤,包括合并提交记录、解决冲突等,最后将本地代码推送到远程仓库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、为什么用rebase?

1、开发需求时,需要自己创建一个个人开发分支写需求。。假设是从dev或者master分支拉的新分支(dev-zld)

当自己的需求写完了,一般我会把这个新需求的在dev-zld上多个提交记录先合并为一条commit记录

(当然,主要看公司规范,之前的公司是要求一个需求只能有一条提交记录,怎么做的请看:https://blog.youkuaiyun.com/qq_36951116/article/details/107923312

2、当在自己的个人分支dev-zld开发期间,可能你的同事把他的分支代码合并到dev上了,也就是说,你的dev-zld上的代码很可能不是最新的。。

在以前,我们直接把dev-zld分支merge到dev上,这也可以,但这会让git提交记录很杂乱,也就是会有无用的merge信息以及分支树分叉,比如“Merge remote-tracking branch 'origin/master'”(不得不说,我还是喜欢用merge的,用起来简单方便)。

现在呢,为了保持提交记录的洁净以及git分支树不会分叉,就需要用rebase来做了。

 

二、这里主要用idea 的git可视化提交演示步骤

1、把dev-zld的多条提交记录合并为一条,如果公司不要求就忽略(可以参考:https://blog.youkuaiyun.com/qq_36951116/article/details/107923312

2、把dev上的最新代码通过rebase合并到当前分支dev-zld


这个时候我的个人分支dev-zld就已经把dev上的最新代码给合并过来了,分支树还不会乱(然后push到远程仓库,这push也可以不做,无所谓)

当然,如果代码冲突了,那还是需要解决冲突的。这里把dev先合并到dev-zld就是为了在你自己当前分支解决冲突。

3、再切换到dev分支

4、重复第二步,只不过这个时候是把dev-zld的代码通过rebase合并到dev上(因为第2步的时候再dev-zld解决了冲突,这个时候基本上不会再冲突了,除非在这期间刚好你的同事又提交代码了)

5、然后再看提交记录树,是一条线的,并且没有merge信息

6、把本地dev push到远程仓库的dev上即可

7、上述前提是代码不会出现冲突,否则还是会出现merge信息的。。。。当然,这个也有解决办法,就是重新reset到某个提交版本,然后把这个commit版本之后的所有提交信息合并为一条commit记录(还是上面的那篇文章:https://blog.youkuaiyun.com/qq_36951116/article/details/107923312)。。。我之前的公司是通过项目管理手段避免代码冲突的,也就是你负责的需求和别人的需求是尽可能不会凑到一块。

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值