我最开始基于它的commit-001进行开发了分支(new-br),然后现在想要合并的时候,这个最新的版本是commit-002了,请问如何进行rebase呢?-灵析社区

文文问问

有一个repo,我最开始基于它的commit-001进行开发了分支(new-br),然后现在想要合并的时候,这个最新的版本是commit-002了, 请问我是需要rebase是吗?我需要如何做才能到达我的目的呢?

阅读量:267

点赞量:3

问AI
这个时候应该用"git merge" 操作。上面你说到了合并时候是版本commit-002,说明其他人也在这这个分支进行了提交操作,这时候你用"git rebase" 是会影响到其他人的代码。 1. 先说你采用"git rebase"操作会产生什么后果: 假设同事A从c1这个commit基础上提交了两个commit,c3和c4。而这个时候同事B在原来c1基础上提交了c2,同时本地本地有个c5还没有推到远程仓库。若这个时候同事A直接进行rebase 操作,会发生同事B本地版本库和远程版本库不同步的情况,有可能会导致同事B的本地commit c2丢失。如下图所示: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/9bd1f73aeb029664b93028ada1cc98aa.png) 2. 如果采用"git merge"操作可能在提交记录上会出现merge记录,并手动更新一些代码,但是不会出现丢失其他人代码的情况,如下图所示: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/9d6ddad5674e8f3e99d14cb48dc7a3e2.png) 同事B如果再同步远程仓库的话,只需要要做合并操作即可,而不会出现和远程仓库无法同步的现象了