[英]Develop branch is behind after merging into master using Gitlab MR
本质上,git 只有一种跟踪历史的方式:每个提交都有零个或多个父级。 通过从提交向后跟踪其父项及其父项,git 可以确定该提交历史中的提交。
当你合并两个分支时,比如说develop成master,你有三个选择:
当您下一次要求合并相同的分支时,git 将查找在开发上存在但在主控上不存在的提交。 如果您选择了选项 3,那么您从其中压缩更改的所有提交仍属于该类别。
教训是只在你以后要扔掉的树枝上使用壁球合并。 例如,您处理的每个任务都可以在一个新分支中; 你从develop(或master,或main,或任何地方)的当前state启动它,挤压合并它,然后删除分支。 下一个任务再次从开发/主/主开始,而不是从旧任务分支开始,所以你压扁的旧提交不再重要。
或者(和我个人的偏好),不要使用壁球合并。 使每个提交有意义,使用git rebase -i
和git commit --amend
来整理您不希望在历史记录中出现的愚蠢错误(小心只重写您未与其他用户或其他分支共享的历史记录) ,然后使用快进合并或合并提交。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.