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恢复代码的资料请关注脚本之家其它相关文章!

相关文章

  • golang中for range的取地址操作陷阱介绍

    golang中for range的取地址操作陷阱介绍

    这篇文章主要介绍了golang中for range的取地址操作陷阱,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Goland编辑器设置选择范围背景色的操作

    Goland编辑器设置选择范围背景色的操作

    这篇文章主要介绍了Goland编辑器设置选择范围背景色的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • go中控制goroutine数量的方法

    go中控制goroutine数量的方法

    这篇文章主要介绍了go中控制goroutine数量的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • golang高并发的深入理解

    golang高并发的深入理解

    golang从语言级别上对并发提供了支持,而且在启动并发的方式上直接添加了语言级的关键字。下面这篇文章主要给大家介绍了关于golang高并发的相关资料,需要的朋友可以参考下
    2019-03-03
  • Golang多线程下载器实现高效快速地下载大文件

    Golang多线程下载器实现高效快速地下载大文件

    Golang多线程下载器是一种高效、快速地下载大文件的方法。Golang语言天生支持并发和多线程,可以轻松实现多线程下载器的开发。通过使用Golang的协程和通道,可以将下载任务分配到多个线程中并行处理,提高了下载的效率和速度
    2023-05-05
  • Go初学者踩坑之go mod init与自定义包的使用

    Go初学者踩坑之go mod init与自定义包的使用

    go mod是go的一个模块管理工具,用来代替传统的GOPATH方案,下面这篇文章主要给大家介绍了关于Go初学者踩坑之go mod init与自定义包的使用,需要的朋友可以参考下
    2022-10-10
  • go语言中值类型和指针类型的深入理解

    go语言中值类型和指针类型的深入理解

    这篇文章主要给大家介绍了关于go语言中值类型和指针类型的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Goland 断点调试Debug的操作

    Goland 断点调试Debug的操作

    这篇文章主要介绍了Goland 断点调试Debug的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Go语言copy()实现切片复制

    Go语言copy()实现切片复制

    本文主要介绍了Go语言copy()实现切片复制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • golang中xorm的基本使用说明

    golang中xorm的基本使用说明

    这篇文章主要介绍了golang中xorm的基本使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12

最新评论