Git与IDEA集成(三)

1.本地commit了,怎么撤回

如下,写了一段错误代码,本地提交了,现在想要把它撤回
在这里插入图片描述
我们可以在version control标签里选择之前提交的记录,进行撤回
在这里插入图片描述
撤回后,defalt chanlist里将不再有该条记录,同时,会把该条记录放到default changelist外去
在这里插入图片描述
在这里插入图片描述

只要加入到版本控制后,我们本次修改的所有文件,都会放到一个IDEA提供的defalut changelist列表里,当我们commit的时候,默认就是提交这个列表里的记录,注意,多个Changelist中只有一个是active的,这个active的Changelist,默认情况下即为Default Changelist,粗体,且放在第一位。active的意思:快捷键(Ctrl + K)是对被设置为active的那个Changelist进行提交的。
参考:https://www.pianshen.com/article/13091530169/

2.远程commit,如何取消或者回滚

如图,远程提交了代码,但是想撤回
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如上,若我们没有点击提交,那么在local changes里会多出一个list,我们可以再在这里commit也行,当我们commit后,本地环境就会回退到某个版本,本地代码也会恢复成之前版本代码

注意,commit后,必须还要push一下,不然远程仓库是不会改变的,这样远程仓库也会恢复到之前那个版本,不过我们提交的记录是递增的,即这样就保证大家pull的时候,都能正常下载代码下来

在这里插入图片描述

参考 2.10.3 远程仓库回滚
IDEA远程仓库版本回滚
Git 使用revert回滚已提交的commit
Git恢复之前版本的两种方法reset、revert(图文详解)
git撤销commit的三个方法
IDEA git分支回退指定的历史版本

3.远程代码提交了,本地如何恢复到某个版本

2回退,会把之前的代码都恢复过来,但是我们想要回退到某个版本的时候,之前修改的代码还能查看到,如图,我们提交了三次,那么回退到第一次的时候,第二和第三的代码希望还能看到
在这里插入图片描述
选择项目,右键,找到reset命令
在这里插入图片描述
在这里插入图片描述
或者输入版本号
在这里插入图片描述

HEAD^ 是还原到上一个版本,HEAD^^ 是还原到上上一个版本。
Reset Type 有三种:

mixed 默认方式,只保留源码,回退commit和index信息
soft 回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit
hard 彻底回退,本地源码也会变成上一个版本内容,并且相当于revert

在这里插入图片描述

以上这些操作,都是让本地IDEA恢复到某个版本的代码,而远程代码都是没有改变的,
同时,reset命令,会导致本地head指针移动到之前某个版本位置,那么我们在log里,就只能看到
部分日志信息,若需要看到远程的日志信息,那么需要重新再pull一下,把head指针指向最新位置

4.删除记录

参考: https://www.cnblogs.com/wuxun1997/p/13821086.html 没试过

5.pull失败

当本地修改了代码,远程也修改了代码,在同一处,两边代码不一致,就会导致pull失败
在这里插入图片描述
如图,可以先看哪里地方冲突了,若难道手动去还原,那么点击rollback来自动还原,当恢复到上一个版本后,就可以顺利Pull了
在这里插入图片描述
或者
在这里插入图片描述

或者可以根据提示这么解决
在这里插入图片描述

6.合并到master

当dev修改了很多后,我们可以把它合并到主分支上
在这里插入图片描述
可以看到,master上只有之前的版本信息
在这里插入图片描述
当我们要把dev的都切换到master上,有两种方式,一种是merge changes,这种方式很快捷,直接合并后,再直接提交就可以了,不过这个有个弊端,就是提交的记录不是一条,而是dev里所有的修改的记录都提交上去了,这样就导致master实际上记录信息很多,一般master上应该没提交一次,注释记录表示实现了什么功能,或者新增,支持什么功能,而不是各种流水记录
在这里插入图片描述
还有一种方式是pull其他分支到主分支,但是提交的时候也会有要提交许多记录,如图
在这里插入图片描述
在这里插入图片描述

还有一种,就是dev先提交后,然后本地再reset到某个版本,这个时候,之前的版本的代码,就会在本地变成用户修改状态的代码,然后我们再把这些变化的代码再用stash保存起来,如图
在这里插入图片描述
然后我们再切换回master版本,再在这个版本把之前stash的代码放出来,如图:
在这里插入图片描述
在这里插入图片描述
这样,我们合并到master的记录,就可以从多条记录变成一个记录登记了

7.stash

当我们正在开发的时候,测试提了一些问题,需要修改,那么为了能让我们正在开发的代码找一个地方保存起来,然后我们再把测试那个版本的代码进行修改提交后,然后再把之前的代码放出来,如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提交补丁后,然后就可以再把之前代码放出来了
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考: IDEA之Git分支以及Stash使用

8.本地修改了,远程也修改了,push冲突报错

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值