首页 > 解决方案 > 关于 Git 工作分支是从 dev 合并的,一些文件/代码在合并后被删除/擦除

问题描述

我认为这是因为此分支意外合并到 dev 但被手动删除。我不是 git 专家,他们是否会合并我的工作分支以合并我的所有更改并忽略在 dev 上删除的更改?

前任。

Before it was accidentally push to dev (someone)
Branch A - 7 changes to Dev, Dev has now 7 changes then it deleted manually
Now branch A is done
Branch A - 20 Changes to Dev, but Dev has now 16 changes

有人可以向我解释以及如何解决我的问题吗?

标签: git

解决方案


首先,我们需要澄清一些事情。当你说:

合并我的所有更改并忽略在 dev 上删除的更改

这与git工作方式不同。如果您触摸了这些删除文件中的任何一个,当您将merge/pulldev 放入您的分支或尝试合并到 dev 中时,您将遇到合并冲突。你在你的问题中没有提到。因此,您不能简单地保留您的更改而不是他们的更改,因为您的更改与他们的无关,如果他们确实有冲突,您可以简单地这样做:这个并选择ours您想要的每个文件。

这听起来更像是您想要撤消他们的更改,这是他们的许多不同方式。

  • 重启
  • 恢复
  • 空合并
  • ...列表还在继续

选择如何撤消更改实际上取决于您如何查看历史记录,以及在更改之上是否已经有其他更改,以及您对git.

我可能会将 dev 合并到您的分支中并通过使用历史记录重新添加文件diff,只是因为这可能很容易理解,而且不太难。在合并之前,也许先做一个标签,这样您就可以轻松找到合并前的位置(不是必需的,但我觉得它很有帮助)。

根据经验,您将 dev 合并到您的分支的频率越高,您将更改合并回 dev 的速度就越快,痛苦就越少。你可能会发现拥有一个完整的 CI/CD 管道和审查 PR 将在未来发现这些问题。


推荐阅读