notes icon indicating copy to clipboard operation
notes copied to clipboard

git 删除未推送的提交 or delete unpushed git commits

Open lanlin opened this issue 8 years ago • 1 comments

场景

由于误操作,经常可能会将一些测试方法等直接选中并 commit 到了本地仓库中。但是还没有 push 出去。 这个时候,你可以用下面的方法补救。

示例

  1. 删除最近的一次 commit, 但保留已有的修改
$ git reset --soft HEAD~1
  1. 删除最近的一次 commit, 并且不保留任何已有修改
$ git reset --hard HEAD~1
  1. 抛弃本地一切修改, 重置到与远程分支一致的状态
$ git reset --hard origin/master

注意,示例 1 - 2 必须确保已经切换到你要删除 commit 的那个分支上, 而不是在别的分支上。 同样的,示例 3 中 origin/master, 其中 master 为你需要重置到的那个远程分支名称。

lanlin avatar Mar 27 '17 02:03 lanlin

Git 删除指定提交 or git reset #15

lanlin avatar Apr 18 '17 04:04 lanlin