首页 > 解决方案 > 一些合并请求后,我仅来自一个文件的代码消失了,为什么?

问题描述

我今天发生了最奇怪的事情。一系列合并请求仅在一个文件中完全删除了我的代码以及提交。我们当前的 git 流程是这样的:

今天我们就是这样做的:

  1. 我和另一个开发人员(我们在前端团队中只有两个开发人员),创建了两个功能分支,分别称为“my_feature_branch”和“his_feature_branch”。

  2. 编码后,我将 my_feature_branch 合并到 my_develop,并创建一个合并请求进行开发。并且这个合并请求被合并了。

  3. 之后,其他开发人员完成了自己的编码,将分支master合并到his_feature_branch中以获取最新代码,并从his_feature_branch创建合并请求进行开发。此合并请求已合并。

合并他的合并请求后,我的合并请求中的一些代码更改消失了。我检查了从 my_develop 合并提交到开发后的每个提交,但找不到我的代码被删除的提交。更奇怪的是,只有一个文件中的代码会消失,而其他文件则很好。

我检查了代码消失的文件的历史记录。我的合并请求没有提交。就好像我对该文件的更改从未存在过。

当我从 my_develop 创建另一个合并请求以进行开发时,gitlab 说没有可比较的提交,即使两个分支上的代码不同。

我不知道这里会发生什么。有人可以向我解释为什么会发生这种情况,我该如何解决?

标签: gitgitlab

解决方案


这可能是因为您的朋友也处理了与您的文件相同的文件

  • 首先,您合并到了 Repo,所以现在 GitHub 中的文件会根据您的文件进行更改。
  • 然后您的朋友在同一个 Repo 中进行了 PR,这再次导致 Main 分支根据您朋友的 PR 更改其代码

当您获得任何 PR 时,您应该检查是否存在任何合并冲突,这表明 PR 中是否有任何两个文件已更改,以便您可以根据要保留的文件代码进行选择。

现在我认为你可以回滚。


推荐阅读