git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交

前言

当我们用 pycharm 提交代码的时候,每天都要 commit 提交的内容,有时候发现后面写的代码还不如前两天的稳定。

这时候想把代码回退到某次 commit 提交,可以使用git的 reset 功能实现。

reset 回滚有三种类型:

  • Mixed 此为默认方式 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响)

  • soft 回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)

  • hard 回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换

Show History

打开pycharm-VCS-Git-Show History 查看 commit 提交记录。

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第1张图片

可以看到上一次的提交是昨天晚上的记录,我想回退到3月7号的这次 commit 的代码上, commit的提交内容是fz。

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第2张图片

先记住commit提交的id,也就是第一列显示的"916929a"

Reset HEAD

打开pycharm-VCS-Git-Reset HEAD 回滚当前的分支yoyoketang

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第3张图片

Reset Type类型有三种,默认Mixed:

  • Mixed 此为默认方式 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响)

  • soft 回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)

  • hard 回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换

To Commit 输入框输入commit id,也就是"916929a",这里选择默认的Mixed回滚类型。

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第4张图片

回滚之前可以先点下 Validate 按钮确定下有没这个commit id

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第5张图片

点Reset 之后就可以回滚成功啦

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第6张图片

恢复到最新的

前面已经回滚到3月7号的commit这次提交的内容上,如果我们又想回到最新的代码,可以查看commit log记录查看到commit id为"2932c8c"

打开pycharm-VCS-Git-Show History 查看 commit 提交记录-点log切换

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第7张图片

VCS-Git-Reset HEAD - To Commit 输入框输入commit id,也就是"2932c8c",这样就回到最新的代码了。

Reset hard

前面 Reset HEAD 时候用默认是Mixed会发现上次提交的代码test_yoyoketang.py文件还在,变成了红色,如果想彻底回到上次的commit,

后面写的代码都不要,Reset Type类型就选hard(慎重选择,要不然后面写的本地代码都找不到了)

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第8张图片

点Reset 之后就可以完全回到上次的代码了

git使用教程8-pycharm 使用 Reset 回滚到某次 commit 提交_第9张图片

你可能感兴趣的:(Git,git)