【问题标题】:About Git the working branch was merge from dev and some files/code is deleted/erase after it was merge关于 Git 工作分支是从 dev 合并的,一些文件/代码在合并后被删除/擦除
【发布时间】:2021-04-22 08:56:39
【问题描述】:

我认为这是因为此分支意外合并到 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


    【解决方案1】:

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

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

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

    这听起来更像是您想要撤消他们的更改,他们有很多不同的做法。

    • 重置
    • 还原
    • 空合并
    • ...列表继续

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

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

    根据经验,将 dev 合并到分支的次数越多,将更改合并回 dev 的过程就越快,痛苦就越少。而且您可能会发现拥有完整的 CI/CD 管道和审查 PR 将在未来发现这些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多