git - 在变基期间解决所有“由他们更改”或“由他们删除”
问题描述
我正在做一个变基,我想总是从分支 A 中获取冲突文件。
在分支 A
git rebase -X theirs branchQ
(根据Is there a "theirs" version of "git merge -s ours"?并为特定文件选择 Git 合并策略("ours"、"mine"、"theirs"):"theirs" 应表示"使用版本来自 A"。在 rebase 中,他们和我们的含义在合并方面是相反的)
但是,对于已修改和删除的文件,我仍然会遇到冲突。我想一直使用 A 的内容。
git status
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add/rm <file>..." as appropriate to mark resolution)
deleted by them: A/XB.cs
deleted by them: A/YB.cs
deleted by them: B/XD.cs
deleted by them: B/YD.cs
还有很多。
我可以通过git rm A/XB.cs
etc 来解决这个问题,但我如何接受所有这些删除(以及来自分支 A 的所有其他更改)?
(这是一个 28 阶段的变基,所以我正在寻找自动化)
对于分支 A 和 branchQ 的公共父级,branchQ仅包含行尾规范化,而不包含新文件或已删除文件。
解决方案
简短的回答是,-X
争论对我所说的高级冲突完全没有影响。请参阅“-X theirs”选项似乎不适用于某些 Git 冲突以及导致 git 合并冲突的原因和案例是什么?
我没有可以为您执行此操作的预设脚本,但可以尝试:
git ls-files --stage
请注意,“被他们删除”的文件将作为条目存在于暂存槽 1 和 2 中,但不存在于槽 3 中。这些是传递git rm
给以告诉 Git 删除阶段 1 和 2 条目的名称。
有关合并如何使用索引中每个文件条目允许的四个暂存槽的描述,请参阅合并期间 git index 的内容如何演变(以及合并失败后索引中的内容)?
推荐阅读
- java - 无法解析 com.android.tools.build:gradle:3.1.4,react-native run-android
- python - 将文件输入的标准输出保存到文件
- neo4j - 将sql server 2017数据库导入neo4j
- java - 如何使用另一个列表中的 Map 属性创建一个新列表
- java - 使用 InheritanceType.JOINED 时如何避免空子表?
- c# - DTO 类的数据类型
- django - 通过添加额外的字段覆盖 Django Unique_Together 验证
- javascript - nodeList 仅给出最后一项 onClick
- python-3.x - 使用 matplotlib 显示分辨率大于屏幕分辨率的图像
- c# - 以编程方式定义端点和绑定