gpt4 book ai didi

git - 如何在 git 中 merge 单个文件?

转载 作者:行者123 更新时间:2023-12-02 02:01:55 25 4
gpt4 key购买 nike

在我们的 git 工作流程(使用 GitHub Enterprise)中,我们的功能分支必须 merge 到两个不同且独立的分支(dev 和 master)。只要不存在 merge 冲突,这种方法就可以正常工作。

例如, merge 到 dev 的两个功能分支对文件 F 的更改存在冲突。这两个更改都应该在 dev 中结束,但我不希望 dev 中的数十个不相关的更改 merge 到我的功能分支中,因为它们最终会后来在 master 中,那是不行的。

我们尝试过的:

  • GitHub 的编辑器可以让您轻松修复问题,但同时它也会悄悄地将目标分支 (dev) merge 到源分支 (feature 分支) 中。我还没有找到阻止它这样做的方法。
  • 似乎无法在单个文件上使用 git merge
  • git checkout dev --patch -- F 给你一个基于 vim 的可怕界面,我不敢向我的团队提出。
  • git checkout 中还有一个 --merge 选项,它似乎只是覆盖更改。
  • git checkout --conflict=diff3 得到了完全相同的结果。

到目前为止,我们想出的最好办法是在 GitHub 中进行更改,然后在功能分支中恢复 merge ,但这对我来说看起来并不是一个干净可靠的解决方案。

最佳答案

问题是,你没有在 git 中 merge 文件。您 merge 提交。因此,无论提交包含什么,它都应该包含在 merge 中,除非您可以手动选择和编辑 merge 的最终内容。但这应该是用来解决冲突和那种工作人员的。

也许您可以将功能分支中的提交拆分为两个提交,以便第一个提交仅包含对相关文件的更改,第二个提交将添加其余内容。并且您只能 merge 到该提交。

关于git - 如何在 git 中 merge 单个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68920521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com