在git中,如果分支已经包含从master复制的提交记录,并且您希望保留部署分支的历史记录,那么将部署分支更新到与主分支相同,最好/最容易的方法是什么?
以下是场景:
1. 部署分支在过去某个时间点从主分支创建。 2. 从主分支复制了其他提交记录到deploy中,略过了一些其他提交记录。 3. 在生产环境中部署在deploy上的代码。 4. 现在需要完全将deploy与master同步以进行下一次部署。
问题是,如何轻松地执行第4步(避免任何合并冲突,因为在deploy中没有提交任何独特的更改,只是从主分支中复制的更改),而不更改deploy中的任何历史记录(我的理解是,在这一点上执行rebase可能会丢失deploy中的历史记录,或者使获取精确的已部署代码变得更加困难,但我可能是错误的)。
执行“git merge master”会生成许多冲突,最好避免这种情况,因为想要的只是使deploy的头直接类似于master的头(deploy不包含任何独特的更改)。
以下是场景:
1. 部署分支在过去某个时间点从主分支创建。 2. 从主分支复制了其他提交记录到deploy中,略过了一些其他提交记录。 3. 在生产环境中部署在deploy上的代码。 4. 现在需要完全将deploy与master同步以进行下一次部署。
问题是,如何轻松地执行第4步(避免任何合并冲突,因为在deploy中没有提交任何独特的更改,只是从主分支中复制的更改),而不更改deploy中的任何历史记录(我的理解是,在这一点上执行rebase可能会丢失deploy中的历史记录,或者使获取精确的已部署代码变得更加困难,但我可能是错误的)。
执行“git merge master”会生成许多冲突,最好避免这种情况,因为想要的只是使deploy的头直接类似于master的头(deploy不包含任何独特的更改)。
origin/master
合并时得到的结果与仅从master
合并时得到的结果不同(master
已经是最新的,即在拉取后)。在第二种情况下,我缺少了两个代码片段。使用你建议的origin/master
没有问题,并产生了预期的结果。 - rnsanchez--no-commit
,我可以解决需要注意的冲突,其他所有内容都按预期合并。 - rnsanchez