之前有一篇文章记录了Git的 reset 操作:

[post cid="241" /]

上次的文章只是本地进行了恢复操作, 现在遇到新的问题:

将错误的代码提交并推送到了远程分支, 如何回退? 即如何恢复远程分支?

1. reset本地

git reset --hard oldCommit

2. 强制推送到远程分支

git push -f

题外话

这个问题出现是自己的git 操作不当所致,大致过程如下:

本来的事情是要更新新的文件到feature 分支, 然后 merge 到master分支.
但是在往 master 分支 merge 的时候忘记先同步 master 分支的改动到feature分支.

正确的步骤是:

  1. 同步master的修改到feature分支
  2. 更新feature分支的文件提交并更新到远程分支
  3. merge feature分支到master分支

而我错误的没有执行第一步, 导致部分master分支修改的文件和feature修改的文件有冲突.所以造成以上问题.