如何回滚AWS管道中完成的合并操作?
解决Git合并后回滚异常及AWS平台回滚方法
本地仓库直接回滚到今日初始状态
- 先定位今日未做任何更改时的提交哈希:
执行git log --oneline,在输出里找到今天的第一个提交(即你开始操作前的版本),复制它的短哈希(比如a1b2c3d)。 - 强制重置本地分支到该版本:
执行git reset --hard <今日初始提交哈希>,这个命令会彻底清除当前分支上所有在该提交之后的更改,包括未提交的本地修改。 - 同步到远程仓库(若已推送过更改):
执行git push --force origin <你的分支名>,注意:这个操作会覆盖远程分支的历史,团队协作场景下必须提前告知其他成员,避免本地版本冲突。
针对Git Revert只回滚单个文件的补充说明
你之前用git revert只回滚一个文件,是因为仅指定了单个文件路径。如果要回滚整个合并提交的所有更改,应该针对合并提交执行:git revert -m 1 <合并提交的哈希>
这里的-m 1表示保留主分支(被合并的目标分支)的历史,回滚合并进来的所有更改。
AWS平台(以CodeCommit为例)手动回滚
若不想通过本地Git命令操作,可直接在AWS控制台处理:
- 登录AWS控制台,进入对应的CodeCommit仓库。
- 左侧菜单选择「分支」,找到需要回滚的目标分支,点击分支名进入提交历史页面。
- 在提交列表里找到今日初始的那个提交(未做任何更改的版本),点击该提交右侧的「创建分支」,新建一个临时分支(比如命名为
temp-revert-base)。 - 回到分支列表,找到目标分支,点击右侧的「更新分支」,在弹出窗口中选择刚才创建的临时分支作为源分支,确认更新。
- 回滚完成后,可按需删除临时分支。
内容的提问来源于stack exchange,提问作者IAmTazlan
相关产品推荐
相关产品推荐

