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

前言

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

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

reset 回滚有三种类型:

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

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

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

Show History

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

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

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

Reset HEAD

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

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

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

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

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

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

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

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

恢复到最新的

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

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

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

Reset hard

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

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: git commit --amend --reset-author 的意思是修改最近一次提交的作者信息,并将其重新提交使用该命令时,会打开一个文本编辑器,让你修改最近一次提交的信息,包括作者、提交信息等。修改完成后,保存并退出编辑器,即可完成修改。 需要注意的是,使用该命令会修改最近一次提交的 SHA 值,因此如果该提交已经被推送到远程仓库,需要谨慎使用。 ### 回答2: git commit --amend --reset-author 是 Git 提供的一个命令,用于修改最近一次提交的作者信息,并将该提交重新打包。这个命令很有用,特别是在合作开发时,当某个作者记录错误或越权时,需要及时进行更正。 具体来说,这个命令包含两个选项: --amend:表示修改最近一次提交,并将其打包成新的提交。 --reset-author:表示重置作者信息,即使用当前 Git 配置的姓名和邮箱地址作为作者信息。 在执行 git commit --amend --reset-author 命令时,Git 会打开编辑器,让用户输入新的提交信息。这个过程与执行普通的 git commit 命令非常相似,只是会覆盖掉最近一次的提交信息而已。 需要注意的是,由于该命令修改了已有的提交记录,因此在修改前需要确认该修改对提交历史的影响,并且确保没有其他人正在基于该提交进行开发。如果需要撤销该修改,可以使用 git reset 命令将 HEAD 重置到原来的状态。 总的来说,git commit --amend --reset-author 命令是一个非常有用的 Git 命令,可以帮助开发者快速修改错误的作者信息,并及时纠正历史记录中的错误。它的使用需要谨慎,但如果正确使用,可以为团队协作开发提供便利。 ### 回答3: git commit --amend --reset-author 是 Git 命令中的一种。 首先,git commit 命令是用来创建提交,将代码变更记录到版本库中。在使用 git commit 命令后,Git 会要求填写提交信息(如提交者姓名、电子邮件地址、提交信息等)。此时,如果我们忘记填写或者填错了提交者的信息,或者想要修改这些信息,就可以使用 git commit --amend 命令来进行修正。 --amend 参数告诉 Git,在修改本次提交时,要替换上一次提交的修改内容,并把上一次提交复制一份作为本次提交的父提交。这样一来,我们就可以修改上一次的提交信息了。 而 --reset-author 参数则告诉 Git,要将本次提交者的信息重设为 Git 配置文件中的默认信息。这在多人合作开发、轮流贡献代码时会比较有用,可以防止提交信息中的作者信息出现错误。 需要注意的是,当我们使用 git commit --amend --reset-author 命令时,Git 不会显示编辑提交信息的界面,而是直接进入编辑模式,让我们进行修改。如果我们不希望修改提交信息,可以直接按 Esc 键退出编辑模式,然后输入 :wq 保存并退出。 总之,git commit --amend --reset-author 是 Git 命令中的一条非常有用的命令,可以帮助我们修正和修改提交信息,以及避免出现因提交者信息错误而导致的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值