跨Git双仓库移动文件并行修改后的合并丢失与冲突问题咨询
问题解答
1. A_master中对doc.txt的修改是否会丢失?原因是什么?
- 默认不会丢失,仅当人工主动选择放弃修改时才会出现内容丢失的情况
- 原因:你将
A_feature合并到A_master时,Git会自动比对两个分支的文件变更,此时会检测到冲突:A_master分支对doc.txt做了内容修改,而A_feature分支提交了doc.txt的删除操作,属于Git中典型的修改/删除冲突。这类冲突Git不会自动合并处理,会暂停合并流程提示人工介入解决,只要你在冲突处理时选择保留A_master中的修改版本,原有修改就会被完整保留。
2. 两个*_feature分支的pull request是否会出现冲突?原因是什么?
- 两个PR不会互相产生冲突
- 原因:
- 首先
A_feature和B_feature分属两个完全独立的Git仓库,Git的冲突检测仅在同一仓库的分支合并时生效,跨仓库的分支变更不存在任何关联,自然不会互相触发冲突 - 单独看两个PR本身的冲突可能性:
- 仓库B的
B_featurePR仅会和B_master的现有变更做冲突检测,只要B_master没有在相同路径下新增同名的doc.txt文件,该PR本身不会产生冲突 - 仓库A的
A_featurePR仅会和A_master的现有变更做冲突检测,和仓库B的PR没有任何关系
- 仓库B的
- 首先
内容的提问来源于stack exchange,提问作者A. Medvedev
相关产品推荐
相关产品推荐

