作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我们的 git 工作流程(使用 GitHub Enterprise)中,我们的功能分支必须 merge 到两个不同且独立的分支(dev 和 master)。只要不存在 merge 冲突,这种方法就可以正常工作。
例如, merge 到 dev 的两个功能分支对文件 F 的更改存在冲突。这两个更改都应该在 dev 中结束,但我不希望 dev 中的数十个不相关的更改 merge 到我的功能分支中,因为它们最终会后来在 master 中,那是不行的。
我们尝试过的:
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/
我是一名优秀的程序员,十分优秀!