Git 版本恢复

15 篇文章 0 订阅
6 篇文章 0 订阅

      Git版本恢复要要比SVN复杂但很方便,SVN版本恢复我们通常就是把本地新文件备份,然后从服务器上update到指定版本的文件,对本地文件有一定程度的不安全性。而Git对文件安全性高,文件处于多个状态(未跟踪,未更新,缓存区,提交本地库,push到服务器),各个状态我们保证数据安全的情况下回复任意历史版本。下面我们依次总结下各个状态恢复的方法:


想要回复到以前某次提交可以用基本用法:

  • git reset HEAD filename  从暂存区中移除文件
  • git reset –hard HEAD~3  会将最新的3次提交全部重置,就像没有提交过一样。
  • git reset –hard commit (38679ed709fd0a3767b79b93d0fba5bb8dd235f8) 回退到 38679ed709fd0a3767b79b93d0fba5bb8dd235f8 版本
  • git revert HEAD                  撤销前一次 commit
  • git revert HEAD^               撤销前前一次 commit
  • git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进行保存。

git reset 80a66beade3eb3f9421002118d2711385ed75303 fileName

80a66beade3eb3f9421002118d2711385ed75303为要回复到的版本commit ID,fileName是恢复的指定文件名,如果是全部回复则不带文件名参数。


还有比较细致的技巧(参数区别):

  1. git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
  2. git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
  3. git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
  4. git reset -soft :取消了commit  
  5. git reset -mixed(默认) :取消了commit ,取消了add
  6. git reset -hard :取消了commit ,取消了add,取消源文件修改


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值