Git合并冲突后暂存区文件及ls-files输出C、M标记含义是什么
Git合并冲突后暂存区状态与ls-files标记解析
暂存区中的相关文件
合并冲突发生后,暂存区会为冲突文件file1.txt存储3个不同阶段的版本,对应输出中的阶段序号1、2、3:
- 阶段1(哈希前缀4111):master和b2分支分叉前的共同祖先版本
- 阶段2(哈希前缀74a9):当前所在master分支的最新版本
- 阶段3(哈希前缀0d02):待合并的b2分支的最新版本
这三个版本均以独立条目存在于暂存区中,工作区的file1.txt则会被写入带<<<<<<<、=======、>>>>>>>分隔符的冲突合并结果。
输出标记含义
你执行的ls-files -somcdt命令会输出文件的状态标记,两个标记的含义如下:
M:表示该条目对应的Blob对象已被成功存入暂存区,属于正常的已暂存状态C:表示该条目对应的版本是造成合并冲突的关联方,仅在文件存在合并冲突时出现
内容的提问来源于stack exchange,提问作者u936293
相关产品推荐
相关产品推荐

