【问题标题】:How to avoid returning of deleted code after merge?合并后如何避免返回已删除的代码?
【发布时间】:2017-03-01 12:11:51
【问题描述】:

在我们的团队中,我们遇到了这样的情况:

  1. 两个或多个开发人员从当前的develop 创建分支。
  2. 其中一个删除了一些代码并推送。
  3. Lead 将此分支合并到 develop
  4. 另一个开发者推送他的分支。
  5. Lead 将此分支合并到 develop
  6. 第一个开发者删除的代码返回。

如何避免?

我看到的选项:

  • push 之前,每个开发人员都应该提取develop 的更新版本并将其合并到他的本地分支中。
  • 使用 git-flow。

【问题讨论】:

    标签: git git-merge git-flow


    【解决方案1】:

    问题出在这里:

    • Lead 合并此分支进行开发。
    • 第一个开发者删除的代码返回。

    除非以非常奇怪的方式(例如通过手动复制文件)完成合并,否则合并不会恢复已删除的代码。

    如果开发人员 A 进行了“删除代码 X”的更改,而开发人员 B 进行了其他更改,则将两者合并不会恢复 X。如果发生这种情况,您需要更详细地分析此人的工作流程进行合并,当然您现在可以详细查看主仓库中的所有提交。

    【讨论】:

    • 我认为开发者 B 甚至没有触摸已删除的代码 git,em...,git 认为一些新代码到了,应该添加到开发中。我的意思是,在开发人员 A 代码中删除的开发人员 B 分支中存在。根据您的回答,这是不正确的。
    • @RamilMuratov:合并不是“用新文件覆盖我们的文件”。它是“采取特定的更改并应用它们”。如果开发者 B 没有开发者 A 的删除,那很好,因为如果您以“MNOPQ”开头,而开发者 A 说“删除 N”而开发者 B 说“添加 R”,那么您最终会得到“MOPQR”-“N”应用开发者 B 的指令时不返回。
    • 谢谢,这就是我想知道的。我将深入研究我们的工作流程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2021-06-20
    • 2011-12-27
    相关资源
    最近更新 更多