IDEA中Git的基础使用

今天在翻看typora找资料的时候发现自己之前做的一些文档记录不见了,大概是之前删除文件夹的时候给清除掉了,本地保存就容易遇到这些问题,清除东西的时候某明奇妙就删掉了很多东西。今天把自己平时的一些记录拿过来,方便自己用也分享出来

一丶 隐藏本地代码修改

Stash Changes / Unstash Changes 使用
功能:隐藏本地修改的代码,为当前修改的代码做一个版本,让代码回到未修改之前。我们可以理解为把本地代码的修改藏起来,然后进行其他操作。
适用功能:

​ (1)当我们本地代码做了修改,这个修改又是不完善的不需要进行传到远端服务器,但是这个时候需要进行代码合并,打包之类的。

​ (2)本地的代码与远端服务器上有冲突,我们需要解决冲突(先把本地修改隐藏起来,把远端服务代码拉取下来,在与本地的修改进行合并)

​ (3)需要对本地代码进行不同的修改,做不同的效果(每次修改都保存一个版本),一般适用于本地测试。

  1. 运用Stash Changes 创建一个本地版本,填入记录的信息,点击Create Stash进行创建,这个时候本地代码就已经回到了我们修改之前,可以进行我们需要的操作

在这里插入图片描述
在这里插入图片描述

  1. 显示修改,当我们做完操作之后,需要把我们隐藏的修改代码给放出来,点击UnStash Changes,选择我们修改的版本点击Apply Stash进行合并

在这里插入图片描述

在这里插入图片描述

二丶代码回滚/撤销

有的时候我们需要撤销从其他分支拉取的代码,或者撤销掉我们之前提交的代码(代码在本地,未提交到远程仓库)

用到Reset HEAD

这里说下Reset HEAD 的三种Reset Type类型:

  1. Mixed(默认):它回退到某个版本,本地源代码会保留,回退commit,和index信息,如果要重新提交commit则可以使用这个
  2. soft:回退到某个版本,只回退了commit的信息,不会恢复file,index一级,若要提交重新commit
  3. Hard:彻底回退到某一个版本,本地源代码也会变为这一个版本的内容

回退代码

1. 先查看当前代码git的历史节点(Show History)
2. 然后在我们需要的节点上面复制Revision number(Copy Revision number),
3. 然后在Git中 点击Reset HEAD,Reset Type 选择Hard,在To Commit中填入上面节点中赋值的Revision number,将代码回滚到这个版本
4. 这个时候本地代码和commit,index 已经回滚到了当前的这个节点,当前的这个节点与最新的节点中间有版本差距,我们需要将本地代码的commit,和index 回退,重复上面1,2(选择最新的分支)。 在Reset Type 选择Mixed,To Commit 填入刚刚赋值的最新节点的的Revision number。回退commit和index ,然后再提交代码。这个时候本地的代码是刚刚我们需要回滚的代码。而记录是最新的,所以就可以直接提交到远程服务器。  
5. 如果我们从其他分支合并了代码,这个时候如果最新的节点中是已经合并了之前的代码,我们代码做了回滚,是不能继续进行分支代码的合并
这个时候如果想要继续合并代码有两个做法:
	(1)把当前代码重新创建一个分支,用新分支进行合并,然后当前分支再合并新分支
	(2)用Reset Head,中Mixed把当前的分支的commit 和index信息回滚到合并分支之前(不推荐,因为会把当前的记录给抹除掉)

撤销代码

前提:
	有的时候我们commit了代码在本地仓库,但是这些代码中有可能出现垃圾代码,或者是提交错的代码,需要我们进行撤回

1. 选择我们提交到本地仓库中又没有push到远程服务器的节点
2. 复制节点的Revision number 
3. 然后在Git中,点击Reset Head, Reset Type中选择Mixed,To Commit 填入刚刚的Revision number,这个时候的commit 和 index信息,本地代码提交的状态就会更改为未提交的状态
4. 如果我们是其他分支合并的代码这个时候直接Revert就可以把其他分支合并过来的代码给清楚掉

1. Git中找到历史版本,可以找到提交的记录

在这里插入图片描述

2. 找到当前分支的revison版本号,这个版本为当前分支修订的版本号

在这里插入图片描述

3. 把本地代码回滚到当前这个分支的代码

在Git中找到Reset HEAD,在Reset type 下拉列表选择Hard,并在to Commit中填写刚刚复制的Revision版本号
在这里插入图片描述

在这里插入图片描述

这个时候idea本地的代码已经归滚到了这个节点,但是这个时候本地是没有修改记录的,当前的这个代码是不能提交到服务器上面去的

将当前的代码当成最新的代码传递到服务器上

右击项目依次选中:Git->Repository->Reset HEAD

Reset Type项选择Mixed, To Commit项填写最新提交记录版本号(切记是最新分支版本号newVersion分支);然后点击Reset按钮

这个时候最新的版本回到了new Version,但是代码还是old Version,这个时候push就能将代码提交到远程仓库中去

注意:这个是会有新的提交记录,只不过提交的代码是回滚选择的节点的代码。
有一个问题,如果我们是合并其他分支的代码,想回到回滚之前代码,做修改之后再进行合并
那么我们需要的是执行上述的操作之后,重新把当前代码重新拉取一个分支,利用这个分支来进行合并,然后再将这个分支的代码合并过来

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值