Git各种撤销操作


问题一:代码区(工作区)的撤销(代码还没有commit)



问题二:如果你已经add到了暂存区,如何撤销(和问题一类似)



问题三:已经提交到本地仓库了,该怎么回退?


reset(goto的概念,不是删除和重写设定的意思、所有commit都还在,只是暂时看不到,随时可以回来)

git reset --soft

将HEAD引用指向某次commit。索引和工作目录的内容都没有删除,在三个命令中对现有版本库状态改动最小。

git reset --mixed(git reset默认的模式)

HEAD引用指向某次commit,索引内容被删除掉了,(工作目录内容不变,这句还难理解,就把工作区清空再操作)

git reset --hard

HEAD引用指某次commit,索引内容和工作目录内容都被reset掉了。(严格模式)

也就是在给定提交后所修改的内容都会丢失(新文件会被删除,不在工作目录中的文件恢复,未清除回收站的前提)。


问题四:如果已经提交到远程仓库,该怎么回退?


方法一:reset(不推荐使用)

注意点:其他人都需要强制用远程master覆盖掉本地的master。命令:git reset --hard origin/master

方法二:revert(团队使用)(只是反向撤销一次commit)

git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,

版本会递增,并且不影响其他commit

确认生成的新commit编译成功,也没有文件冲突,可以push到服务器,完成回滚

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值