我在提交 A 中对文件进行了一些更改,然后我错误地撤消了更改,并继续在提交 B 和 C 中进行更改。
我希望提交 A 中的更改在我的文件中,但 B 和 C 中的更改也不应该丢失。
假设我的分支现在在 C.
我不想
$ git checkout --patch
因为我希望文件包含我在 B 和 C 中所做的更改,并且从提交 A 中签出文件将重写索引和工作树中的文件。
我不能做一个樱桃选择,因为提交 A 是一个合并提交(存储库有两个贡献者,我删除了我的导师在合并后的后续提交中错误地做出的更改),我最终可能会得到一个如果我指定了任何一个父母,那就一团糟。
除了手动复制文件中我想要的更改之外,还有其他方法可以完成此操作吗?