Git本地测试:移除同事PR全部提交排查Bug的方法
验证PR提交是否导致Bug的Git操作方法
方法一:用git revert(保留提交历史,适合多人协作场景)
这种方法会生成新的提交来撤销目标提交的改动,不会破坏原有历史,适合团队协作的公共分支。
- 先定位该PR包含的10个提交的首尾哈希值:比如最早的提交哈希为
commit-A,最晚的为commit-B - 执行批量撤销命令:
git revert commit-A..commit-B,Git会自动生成10个对应的撤销提交 - 若执行过程中出现冲突,手动解决冲突后,执行
git revert --continue继续;若想放弃操作,执行git revert --abort - 构建代码并测试Bug是否修复
- 验证结果:若Bug修复,说明确实是这些提交导致,可保留撤销提交;若未修复,执行
git reset --hard HEAD~10回退到撤销前的状态
方法二:用git reset(临时回退版本,仅适合本地测试)
这种方法会直接将代码回退到PR合并前的状态,操作简单但会暂时移除目标提交记录,切勿推送到远程公共分支。
- 找到PR合并前的最后一个提交哈希
commit-C(即10个提交之前的版本) - 执行回退命令:
git reset --hard commit-C,本地代码会直接恢复到该版本的状态 - 构建代码测试Bug情况
- 测试完成后,若要恢复到原分支状态,执行
git reset --hard 原分支名@{1}(或直接指定原分支头的哈希值)
注意事项
- 操作前建议备份当前分支:
git branch backup-bug-check,防止操作失误无法恢复 - 公共分支优先使用
git revert,避免影响其他协作成员的提交记录 - 批量撤销时若提交间存在依赖冲突,可能需要逐个执行
git revert 提交哈希来处理
内容的提问来源于stack exchange,提问作者user2696565
相关产品推荐
相关产品推荐

