繁体   English   中英

git merge master覆盖更改

[英]git merge master overwrites changes

我有3个分支。 1)熟练2)开发:-当前开发3)发行:-一次我们停止从dev分支进行开发,创建此分支,并且仅在该分支中执行回归错误。 同时,dev分支将为将来的所有开发工作。

现在,我们将发布分支合并到master。 然后尝试将master合并到dev。

当将master与dev合并时,这就是我在做的事情。 1)git checkout master 2)git pull 3)git checkout dev 4)从dev创建新分支并将其称为merge-master-to-dev 5)git checkout merge-master-to-dev 6)git merge master

当我这样做时,我看不到任何冲突。 所以看起来所有文件/提交都是从master到merge-master-to-dev的merged属性。 但是,当我查看代码中的某些文件时,我可以看到缺少一个或多个提交。 从来没有见过这种情况发生,所以我知道我在做什么错吗?

结果是在dev分支中进行了提交B,但是:

  • 当我们移至Release时,相同的提交B被回滚,并且
  • 当我们将Release合并回DEV时,无论出于何种原因,提交A在合并过程中都消失了

“出于任何原因”是一个合并,它正在执行工作以向目标分支(dev)报告对源分支的修改(此处为Release中的提交回滚)

为了避免这些合并,您可以考虑使用另一种工作流程: gitworkflow (一个字),在发布后仅简单地重新创建dev分支,然后合并功能分支。

关键部分:

public ”和“ next ”(又称“ devel ”)分支永远不会合并成master 它们是“暂时的”或“短暂的”,总是被删除/重新创建。
仅功能分支合并到生命周期分支( publicnextmaster )。 这意味着您可以随时选择在开发生命周期的一个阶段与下一个阶段之间删除功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM