交互式重置:清理提交¶
本页简要介绍了如何 使用交互式数据库 上的提交进行清理 克隆.这通常需要在 向 ArduPilot 主软件源提交拉取请求.
这些说明提供的是命令行说明,但同样的操作也可以通过 Git GUI 编辑器完成,包括 源代码树.
互动式重建的步骤¶
打开终端并 cd 到你的 克隆的 目录,查看 分支机构 您希望清理
CD ardupilot git 销售点 我的-新-功能-分支机构
使用 git rebase -i 命令,并指定要修改的提交范围。例如,要修改最近 10 次提交中的任何一次:
git 躏 -i "HEAD~10";
在弹出的终端中(见本页顶部图片)找到您要修改的提交,并替换它们的
选择
用以下字母之一表示s
对于 压扁 会将该提交与前一个提交合并。在上面的示例中,"AP_HAL_F4Light: 修正了一些支持脚本 "和 "AP_HAL_F4LIGHT: 小型修正 (NFC) "将被 "压扁 "到一个提交中r
对于 重拟 允许您更改提交的主题和描述。请注意,您不能简单地在查看器中修改主题行。首先必须用r
稍后,git 会弹出另一个视图,允许您修改主题和描述e
对于 编辑 允许您修改提交内容(即添加或删除更改)d
将删除提交,或者也可以直接从查看器中删除该行您还可以上下移动行来重新排列提交的顺序
保存并退出查看器。git 会从上到下运行文件,并在需要时暂停,以便您进行所要求的修改。
如果提交被标记为
s
对于 压扁此时会弹出另一个查看器,要求您提供提交信息和主题行。如果提交被标记为
e
对于 编辑,查看器将返回常规命令行。随意编辑文件,提交更改,然后键入git 躏 --继续
允许 git 继续处理其他改动。
当事情出错时¶
如果更改提交顺序或编辑提交内容,可能会发生合并冲突。如果能用合并工具(如 TortoiseMerge),然后就可以通过键入允许继续进行交互式重置:
git 躏 --继续
或者,您也可以终止交互式重置,这样就能将分支恢复到开始交互式重置前的原始状态
git 躏 --中止