Git 错误解决和解析 - error: path ‘xxx‘ is unmerged

问题
使用 git checkout 单个文件 放弃某个文件的工作区的修改时报 error: path 'xxx' is unmerged 错误。

发生场景

在合并两个分支时, 如果某个文件在两个分支同时修改了, 则git 对标识这个文件为 需要合并(“Requires merge resolution”)的状态。有可能是两类文件:

  • 文本源码文件,git 会自动merge, 并且会自动添加类似 <<<< >>>> 需要手动处理的标识。
  • 二进制文件, git 不会自动merge, 但是状态和文本文件是一样的。

对于源码文件,处理一半或是什么原因需要 使用git checkout 放弃修改, 会到merge 前端的状态; 对于二进制文件,因为无法merge, 也希望回到merge前的状态。 但是在使用 git checkout 单个文件 命令时就出现这个错误了。

原因及解析
Requires merge resolution 这个状态是不能直接放弃修改的, 需要回到 Modified, not staged 状态才可以。

  • git reset用于撤销修改,reset 有三种模式:mixed,soft 和hard,默认的是mixed,也即是撤销本地库和暂存区的修改,但保留工

猜你喜欢

转载自blog.csdn.net/oscar999/article/details/124284635
今日推荐