1.撤回本地的commit
(1)如下图,首先新增一个java文件TestGitCommit,文件的颜色为绿色,表明已经add到了本地的暂存区。

(2)接下来将TestGitCommit文件使用git commit 命令将其从暂存区添加到本地仓库中去。

点击Commit按钮

再看一下文件的颜色,已经不在是绿色了。证明已经添加到本地仓库了。

(3)撤回刚刚的commit操作,选中需要撤回commit操作的项目文件目录,点击Show in Explorer

(4)空白处右击,点击 Git Bush Here

(5)使用 git log 命令来查看日志

(6)使用如下命令
git reset --soft 0d2e37c4b8c58d3802dbe8d24d91bf73312b6ce6
haha@nb-haha MINGW64 ~/IdeaProjects/multi-thread (master)
$ git reset --soft 0d2e37c4b8c58d3802dbe8d24d91bf73312b6ce6
haha@haha MINGW64 ~/IdeaProjects/multi-thread (master)
$
查看日志,发现此时已经撤回了commit操作,再看代码,对应的文件又变为了绿色。

2.撤回push到远程的代码
(1)commit操作与上述是一样的,只不过这次需要push到远程仓库上面去,如下图点击push


(2)push成功之后,接下来去撤回。

(3)使用如下命令
git reset --soft 0d2e37c4b8c58d3802dbe8d24d91bf73312b6ce6
haha@nb-haha MINGW64 ~/IdeaProjects/multi-thread (master)
$ git reset --soft 0d2e37c4b8c58d3802dbe8d24d91bf73312b6ce6
haha@haha MINGW64 ~/IdeaProjects/multi-thread (master)
$
查看日志,发现此时已经撤回了commit操作,再看代码,对应的文件又变为了绿色。

但是这个时候远程仓库上这个文件还是存在的

(4)这个时候需要将本地的代码强制push到远程,使用如下命令
$ git push origin master --force
执行上述命令之后,就撤回了刚刚push到远程的代码了
