如何修改main分支创建AbstractCard模型的提交且不改变现有提交图谱
操作指南
修改main分支创建AbstractCard模型的提交(保留提交图谱不变)
要修改main分支上的旧提交同时不改变提交结构、其余提交的内容和顺序,按以下步骤操作:
- 切换到main分支:
git checkout main - 找到创建AbstractCard模型的提交哈希值,记为
<target-commit-hash>,执行交互式rebase命令:git rebase -i <target-commit-hash>^ - 在弹出的编辑器中,将目标提交对应的
pick字段修改为edit,保存并退出编辑器 - 待git停在目标提交节点后,修改AbstractCard模型的对应代码,修改完成后执行暂存:
git add <你修改的文件路径> - 提交修改:
git commit --amend --no-edit(如果需要修改提交信息可以去掉--no-edit参数) - 继续执行rebase完成后续提交的重放:
git rebase --continue
操作完成后,main分支的提交结构、提交顺序、其余提交的内容和信息完全不变,仅目标提交的内容、以及后续所有提交的哈希值会更新。如果已经将main分支推送到远程仓库,执行git push --force-with-lease强制推送即可。
解决VisaCard分支rebase失败问题
visa_gold、visa_classic两个提交rebase失败是因为这两个提交的改动和你修改后的AbstractCard代码存在冲突,按以下步骤处理:
- 切换到VisaCard分支:
git checkout VisaCard - 启动rebase流程:
git rebase main - 当rebase停止提示冲突时,执行
git status查看所有标记为both modified的冲突文件,手动编辑这些文件解决代码冲突 - 冲突解决完成后,暂存所有修改后的文件:
git add <解决完冲突的文件路径> - 继续rebase流程:
git rebase --continue - 重复冲突解决、继续rebase的操作,直到所有提交重放完成。如果中途需要放弃本次rebase,执行
git rebase --abort即可回到rebase前的分支状态。
参考截图


内容的提问来源于stack exchange,提问作者Aleksandr Belokurov
相关产品推荐
相关产品推荐

