Git Revert 非最后一次提交冲突问题

我的本地仓库只有一个文件,每次 commit 都是在文件中添加一句话,比如 “add one”。
现在我在同一条分支上提交了数次,如果我 revert 最后一次,是不会冲突的。那么,
为什么我 revert 前面的几次都会冲突呢,难道是我修改的是同一个文件?
revert 不是新建一个中和提交来抵消之前的提交吗,也就是会重新提交一次啊,这怎么
会冲突,望解答。

如果你最近的修改和要撤消的修改有重叠(overlap),那么就会被要求手工解决冲突(conflicts), 就像解决合并(merge)时出现的冲突一样.
git revert 其实不会直接创建一个提交(commit), 把撤消后的文件内容放到索引(index)里,你需要再执行git commit命令,它们才会成为真正的提交(commit).

revert 三列对比合入,但没有重叠时,可以自动完成,有重叠了就需要手工处理冲突。 revert之前提交的位置在后面做了修改,所以revert 无法自动处理。