git - 当包含一些合并提交时如何恢复一系列提交?
问题描述
我正在尝试还原一系列提交,其中一些提交是合并提交。在这些“坏”提交范围之前,我需要精确副本中的分支(例如,最后一个好的提交是“A”)
git revert B1^..B10
如果有些是合并提交,它将返回类似“...由于合并而不允许但未给出 -m 选项”之类的错误。
如果我提供选项-m 1
,它将恢复,但如果我签出提交 ID“A”,我不会得到完全相同的代码的正确版本。
请注意,我确实想保留历史记录,因此reset
不能使用该命令。
解决方案
在这些“坏”提交范围之前,我需要精确副本中的分支(例如,最后一个好的提交是“A”)
git read-tree -um A
git commit
推荐阅读
- c# - C#/F# 互操作性:不能在 F# 代码中使用 C# 类型
- javascript - 不和谐.js | 在用户接收其他角色时分配特定角色
- android - “MediaStore.Images.Media.EXTERNAL_CONTENT_URI”有什么作用?
- node.js - node js express mongoose api保存操作不起作用
- r - 如果在 R 中就像在 C++ 中一样聪明
- package - 无法找到软件包 openssl-dev
- mediawiki - 如何为 Mediawiki 网站安装 Mathoid?
- node.js - 什么可能阻止我的更新路线不起作用?
- javascript - Javascript - 循环从 API 调用到 JSON 的结果,并以 HTML 格式打印
- makefile - Makefile 在源更新时重建项目