idea中 git版本回退

9 篇文章 2 订阅

1、版本回退 之 Reset Type 有四种:

1.1、soft

①移动本地库HEAD指针

      意思就是,回滚后,仅仅是把本地库的指针移动了,而暂存区和你本地的代码是没有做任何改变的。而你上次改动已提交committed到本地库的代码显示是绿色即未提交。

1.2、mixed(默认方式)

①移动本地库HEAD指针

②重置暂存区

 只保留源码,回退commit和index信息。

 意思就是,回滚后,不仅移动了本地库的指针,同时暂存区的东西也没了,意思就是你上次添加到暂存区的文件没了

1.3、hard

①移动本地库HEAD指针

②重置暂存区

③重置工作区

意思就是,彻底回退,本地代码就是你回退版本的代码。

1.4、keep

①移动本地库HEAD指针

②暂存区不变

③重置工作区

意思就是,回滚后,本地代码就是你回退版本的代码,而暂存区是没有做任何改变的

2、回退版本

1、复制指定版本的 版本号  或 复制指定的tag名称,选择Reset Head -->  点击Reset.

如果需要看回退后的版本代码,可以点击Validate 进行查看。

3、将本地代码push到远程

将回滚后的代码push到远程,会出现冲突, 错误如下:

push of current branch test2 was rejected.

remote changes need to be merged before pushing.

​ 出错原因:

        是因为远程repository和本地的repository冲突导致的,在多人协同机制下,远程库的代码可能已经被其他程序员更新,而你的本地库还停留在未更新前前的状态,这种情况下的push会被远程库拒绝。(其实远程库判断的版本依据就是根据commit的history)

解决办法:

        先在已有代码的分支上创建一个新的本地开发分支 ,如test3,然后用之前旧分支 test2去pull一下远程库中的代码,然后将新创建的本地test3开发分支merge到旧分支test2上,再将test2本地分支代码 push到远程分支即可。

4、同一需求,多人共用的开发分支 代码回滚:且生成回滚记录

https://www.cnblogs.com/lyh233/p/17823196.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值