git撤消修改

怎样撤消Commit但没有Push的代码

  • 方法一:简单

    • 点击菜单栏:local>undo las commit:
      代码状态变化:state :staged modified
    • 点击工具栏:unstage
      代码状态变化:state :modified
    • 点击工具栏:Discard
      代码状态变化:state :unchanged
  • 方法二:稍复杂

    • 点击菜单栏:local>reset选择上一次的commit,有三种选择soft –mixed –hard,默认为mixed,区别见文末。
      代码状态变化:state :modified
    • 点击工具栏:Discard
      代码状态变化:state :unchanged

怎样撤消已经Push的代码

  • 方法一:Revert ,撤消操作会作为新的commit提交并Push,他人会看到两次提交。
    在log中选中已经提交的commit,点击revert>revert & commit
    执行Push

  • 方法二:reset 撤消后之前的commit他人不会看到。但是需要格外小心,只撤消最近一次的commit,以免误操作,尤其是团队项目。

    • 点击菜单栏:local>reset选择上一次的commit,有三种选择soft –mixed –hard,默认为mixed,区别见文末。
      代码状态变化:state :modified(在mixed 模式下,便于修改后可以再次提交。)
    • 此时执行Push,会弹出提示框:说明需要打开git 命令执行进行操作,
      SmartGit中可以点击Tools>Open Git-Shell
      输入git push origin HEAD –force (强制执行最近一次提交)

PS:
根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:
git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值