go local history本地历史恢复代码神器

 更新时间:2024年01月07日 16:57:47   作者:golang学习记  
这篇文章主要为大家介绍了go local history本地历史恢复代码神器的使用功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

local history

今天来介绍一个goland很逆天的功能:local history,也就是本地历史。

这个功能不常被人提及,但是他就像是山中的隐士一样,不出手则已,一出手就是王炸。

这个功能是用来记录项目里面的历史改变的,这个改变包含一般意义的改变,比如说你对某个文件做了一些改动,也包含你之前删除的文件。

既然是本地历史,那么我们就可以回到历史的某个时间点的状态。人们常说人生无法时光倒流,也没有后悔药去修正自己犯过的错误。但是对于代码就不一样了。我们有机会让代码回过去的某个状态。

听起来,本地历史很像git的回退功能。但是他们起作用的时间点是不一样的,git是对已经提交的代码进行回退到某个过去的版本;本地历史则是在你编辑代码的全过程进行项目的状态记录,从这个意义上讲,他比git更强大。

实操本地历史的使用

假定这么一个场景,前几天你已经提交了一次代码,然后开始对一个文件进行了一些更改(比如有25次的更改),但是在你提交代码之前,你突然意识到 这个文件有一个重要的方法目前是没有(这个方法在第三次更改的时候加的,后面又删了),你需要让这个文件重新具有这个方法的代码。

你想过使用撤销(快捷键 ctrl+z)来试图回退让这个方法重新具有,但是一想到要按很多次ctrl+z,也害怕多次的ctrl+z会出问题。

此时,你就可以用到本地历史了。

第一个:回退单个文件

对这个文件右击,然后选择Local history,然后选择Show history,然后回弹出一个窗口,窗口左边就是之前的这个文件出现的版本的列表,每个版本默认带了一个自己的时间戳。窗口右边是一个差异的查看器,选择一个历史版本,然后和当前的版本进行差异对比,以此来确定自己需要哪个历史版本的文件。

当选定了一个历史版本,就可以点击向左的箭头符号,实现回退。

前面选中某个版本,然后回退,那么代码就是这个版本的代码;如果你只想要这个历史版本的某一部分代码,那么可以点击>>去把想要的代码移到当前的版本里。

第二个:回退多个文件

先选中多个文件,然后向前面右击选择Local hisotry|show history。

第三个:回退已经删除的文件

如果你之前不小心删除了某个文件,也可以同上一样操作,删除的文件在历史版本里面标记了Deleting。

如下动图,来恢复已经删除的server.go

前面提到每个文件的历史版本是通过时间戳来标识的,那么如果在操作多个文件,或者对同一个文件前面的更改次数太多了,可能就不那么好识别具体的版本了。此时可以给当前文件的版本加一个Label来区别。

还是右击文件,选择Local history,然后选择put label,然后给一个当前更改的标识(最好是一个有业务含义的名字)。

为了减少鼠标的点击,可以先按2次 shift,然后输入local ,选择local history来快速调出本地历史

本地历史很强大,可以帮我们很快恢复一些代码。但是他也是有使用边界的。本地历史默认只能保存最近5天有修改的文件。这个值也是可以修改的,在Setting里面的IDE下面找到Duration of storing changes in Local History ,然后你可以给个30天(应该够了)。

以上就是go local history本地历史恢复代码神器的详细内容,更多关于go local history恢复代码的资料请关注脚本之家其它相关文章!

相关文章

  • Go 泛型和非泛型代码详解

    Go 泛型和非泛型代码详解

    Go 在 1.17 中支持泛型,但是默认未开启;1.18 中会正式支持泛型,下面文章内容小编将给大家讲解Go 语言中的泛型和非泛型并且附上代码详解,刚兴趣的小伙伴请参考下面文章的具体内容
    2021-10-10
  • Golang实现DFA算法对敏感词过滤功能

    Golang实现DFA算法对敏感词过滤功能

    DFA算法是确定性有限自动机,其特征是,有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边上标记有一个符号,通俗的讲DFA算法就是把你要匹配的做成一颗字典树,然后对你输入的内容进行匹配的过程,本文将利用DFA算法实现敏感词过滤,需要的可以参考一下
    2023-10-10
  • Mac上Go环境和VS Code的正确安装与配置方法

    Mac上Go环境和VS Code的正确安装与配置方法

    Go语言是一个新兴的语言。下面介绍一下如何在Mac系统下安装和使用这个语言,Go语言提供了mac下安装包,可直接下载安装包点击安装
    2018-03-03
  • Golang发送http GET请求的示例代码

    Golang发送http GET请求的示例代码

    这篇文章主要介绍了Golang发送http GET请求的示例代码,帮助大家更好的理解和使用golang,感兴趣的朋友可以了解下
    2020-12-12
  • Go实现后台任务调度系统的实例代码

    Go实现后台任务调度系统的实例代码

    平常我们在开发API的时候,前端传递过来的大批数据需要经过后端处理,如果后端处理的速度快,前端响应就快,反之则很慢,影响用户体验,为了解决这一问题,需要我们自己实现后台任务调度系统,本文将介绍如何用Go语言实现后台任务调度系统,需要的朋友可以参考下
    2023-06-06
  • Go Gin实现文件上传下载的示例代码

    Go Gin实现文件上传下载的示例代码

    这篇文章主要介绍了Go Gin实现文件上传下载的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 使用Go重构流式日志网关的实战分享

    使用Go重构流式日志网关的实战分享

    流式日志网关的主要功能是提供 HTTP 接口,接收 CDN 边缘节点上报的各类日志(访问日志/报错日志/计费日志等),将日志作预处理并分流到多个的 Kafka 集群和 Topic 中,本文就给大家分享如何使用 Go 重构流式日志网关
    2023-06-06
  • golang 如何获取文件夹下面的文件列表

    golang 如何获取文件夹下面的文件列表

    这篇文章主要介绍了golang 获取文件夹下面的文件列表方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Go实现替换(覆盖)文件某一行内容的示例代码

    Go实现替换(覆盖)文件某一行内容的示例代码

    本文主要介绍了Go实现替换(覆盖)文件某一行内容的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Golang使用panic控制程序错误流程

    Golang使用panic控制程序错误流程

    这篇文章主要介绍了Golang使用panic控制程序错误流程,Golang panic异常处理机制中的一种流程控制方式,用于中断程序流程并触发异常处理
    2023-04-04

最新评论