艺灵设计

全部文章
×

我花了两个多小时重写代码,只因点了SourceTree中的丢弃

作者:艺灵设计 - 来源:http://www.yilingsj.com - 发布时间:2019-12-07 14:53:03 - 阅: - 评:0 - 积分:0

摘要:
昨天在公司使用SourceTree提交文件时,由于格式引起某文件多处变动,在丢弃了若干区块后艺灵直接丢弃了整个文件导致近几天对该文件的所有修改都被清空,由于Visual Studio Code自身无记录文件功能及当时也没有安装Local History记录文件的工具,不得不重新手写代码......

这个标题看上去像是一个悲伤的故事,确实如此,好在艺灵我在昨天下班前复写了重要代码,否则估计连班儿都下不了了![笑哭]

对于这个悲伤的故事,艺灵希望引起相关看官的注意,毕竟是自己挖坑自己填......

一、SourceTree

1.1、SourceTree是什么

摘自网络:“一款可视化界面的项目版本控制工具,适用于git项目管理。” window和mac上均可用,界面略有变化。

1.2、为什么要使用SourceTree

无论是早期写的代码还是现在写的代码,都会牵扯到一个问题:一个文件多次修改后如何恢复到其中某次的修改?

这个时候各种项目版本控制工具就出现了,比如:TortoiseSVN(小乌龟)Git等。而这个SourceTree将git命令转成了可视化的工具,操作更直观一些。

关于SourceTree的事情就说这么多,下面来复述下昨天翻车是怎么回事吧,希望引起看官的注意!

二、开发功能

2.1、功能需求

艺灵现在新入职了一家公司,上周在开发一个微信小程序端的会员卡功能

2.2、代码格式不统一

由于某些代码是在项目原有的页面上进行开发并且原有的项目中的代码格式不规范,这就导致一个问题:在保存时代码会被配置文件进行一个统一的格式处理!(目前我们全都使用的是Visual Studio Code代码编辑器,配置文件也配置过了,但只适用于修改过的文件。)

刚刚提到的代码格式不统一就是此事事件的导火索!

三、使用SourceTree提交代码

本地功能开发完毕后,要把代码推到我们的develop开发分支上。前面提到过代码格式的问题,所以此时部分文件就会出现很多因格式引起的区块变化,如图:因代码格式引起的变化因代码格式引起的变化

由于这些是原有的内容并且要保持原有代码的风格,于是我就开始疯狂点击上图中的丢弃区块。点了好大一会儿,发现还有好多,然后艺灵我就想放弃了。当时是这样想的:直接放弃刚才的所有操作,从线上重新拉这个原文件,在要修改的地方单独修改,这样就避免太多格式问题。

3.1、翻车复现

想法是好的,但这个理解嘛,出现了偏差!然后我就在SoureTree界面中的未暂存文件中选中了刚才修改的文件,右键点击了丢弃!如图:在sourceTree中选中文件并执行了丢弃操作在sourceTree中选中文件并执行了丢弃操作然后就出现了坑爹的一幕:这个order_submit.js文件被彻底还原了!在Visual Studio Code中按Ctrl+Z撤消都没有用!自己辛辛苦苦写了几天的代码,就这样被一键还原了,不得不佩服自己刚才的操作,俩字:刺激!

于是我又开始四处求救,最终还是没能恢复我的代码。[心碎]

3.2、安装Local History插件

这次的误操作也让我认识到了代码备份的重要性,还好丢弃的文件不是很多,要不然真是欲哭无泪了!随即我又在网上搜索了下,发现其他的编辑器,例如:WebstromIntelliJ IDEA等会自带记录文件修改的记录,但唯独微软的Visual Studio Code不带这个功能,想不明白微软是故意的还是有意的。另外这个Visual Studio Code也十分耗内存,我都有点想放弃了。

虽然Visual Studio Code没有文件记录的功能,但可以安装Local History插件,该插件会在我们项目目录下创建一个名为.history的目录,里面存放我们修改的记录,大致长这个样子。如图:localHistory插件会记录文件的修改操作localHistory插件会记录文件的修改操作怎么样,看着是不是很爽!麻麻再也不用担心我在SourceTree中丢弃文件了!哈哈哈哈哈哈

不过,这个插件只对安装后的操作有效,对安装前的操作无效。

由于自己并没有使用 git stash 命令对文件进行暂存,所以......

尽管此处我用了最笨的方法重新写代码,但我仍相信还有其他骚操作,只不过是目前没有搜索到罢了。如果看官知道骚操作,欢迎右侧联系。

四、最后

养成良好的编辑习惯极其重要!!!

转载声明:
  若亲想转载本文到其它平台,请务必保留本文出处!
本文链接:/xwzj/2019-12-07/sourcetree-discard.html

若亲不想直保留地址,含蓄保留也行。艺灵不想再看到有人拿我的技术文章到他的地盘或者是其它平台做教(装)程(B)而不留下我的痕迹。文章你可以随便转载,随便修改,但请尊重艺灵的劳动成果!谢谢理解。

亲,扫个码支持一下艺灵呗~
如果您觉得本文的内容对您有所帮助,您可以用支付宝打赏下艺灵哦!

Tag: sourcetree Visual Studio Code webstrom idea git git仓库 git命令 Local History git st

上一篇: git添加SSH公钥后本地验证失败的解决方法之一   下一篇: 移动端H5页面拍照上传图片后图片被旋转的bug及修复方案

评论区