如何回退特性分支的3次提交以修复PHPcs违规问题?
操作方案与名称
核心操作名称:Git软重置(Soft Reset)
如果你的需求是撤销特性分支上的最近3次提交,同时保留所有修改内容在工作区(让文件处于modified状态),直接用软重置即可:
- 切换到目标特性分支:
git checkout feature-branch - 执行软重置,回到3次提交前的状态:
git reset --soft HEAD~3
执行后,之前3次提交的所有修改都会回到工作区,git status会显示这些文件为modified,你可以运行PHPcs修复代码违规,之后重新提交即可。
如果已经把这3次提交推送到了远程特性分支,需要强制推送更新远程分支:git push --force origin feature-branch
注意:如果该远程分支有其他协作者,强制推送会覆盖远程提交历史,务必提前沟通确认。
备选方案:交互式变基(Interactive Rebase)
如果需要针对每一次提交单独修复PHPcs违规(而非合并成一次新提交),可以用交互式变基:
- 启动交互式变基,编辑最近3次提交:
git rebase -i HEAD~3 - 在弹出的编辑器中,将每一行的
pick替换为edit,保存并退出。 - Git会依次回退到每一次提交的状态,此时运行PHPcs修复违规,然后执行:
git add .git commit --amend --no-editgit rebase --continue - 完成所有提交的修改后,强制推送到远程特性分支:
git push --force origin feature-branch
最后更新你的Pull Request即可。
内容的提问来源于stack exchange,提问作者Qwertz
相关产品推荐
相关产品推荐

