【IDEA】代码未提交(commit)拉取(pull) 远程代码导致代码全部丢失的bug

您所在的位置:网站首页 idea怎么保存写的代码在电脑上 【IDEA】代码未提交(commit)拉取(pull) 远程代码导致代码全部丢失的bug

【IDEA】代码未提交(commit)拉取(pull) 远程代码导致代码全部丢失的bug

2024-07-17 06:35| 来源: 网络整理| 查看: 265

问题描述

今天早上拉取公司服务器代码后遇见了一个非常奇怪的问题:自己先前费了两天写的代码文件全部丢失了!!!而且马上到了任务截止时间,此刻我的心情…

在这里插入图片描述

分析问题

冷静了3秒后,凭借多年的经验我的第一反应看控制台 Event Log 有没有提示什么东东,果然我发现一丝丝线索: 在这里插入图片描述 通过上面的警告信息后,原来是由于我未 commit 的文件在更新之前自动保存在 stash,接下来顺便了解了 Git stash 的作用:将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容(相当于将代码进行隐藏),看到这里读者们是不是和我一样突然就悟出了一个真理!!! 那就是没有提交的内容都会保存至堆栈中。 在这里插入图片描述

解决问题

此刻我们想将隐藏的代码进行恢复,那么我们将会使用到 Git unstash命令,还好【IDEA】编辑器已经为我们提供了这个选项。VCS–>git–>Unstash

选中你刚刚的stash 先查看其内容,可以看到我们之前丢失的代码文件列表如下所示:

接下来选中Pop stash,点击pop stash即可

本以为一切顺利,万事大吉。但万万没想到又出了一个问题。不过此刻的我稳如老狗:

在这里插入图片描述 根据右下角屏幕的错误信息提示:本地更改会被merge所覆盖

so 这里点击view them 然后就看到了下面两个文件信息:

.idea目录下所有文件,我已经在.gitignore中声明忽略了,所以我的localChanges中并没有该文件。排查一番后查看git提交的历史,发现是其他同事将这个目录下的文件加入了版本控制并提交到git仓库中 🤣🤣🤣 。

在这里插入图片描述 我还能说什么呢?不过虽然是别人挖的坑,那就辛苦咱自己解决了 在这里插入图片描述 由于我在idea已经设置忽略的文档,所以先将这个idea 文件目录先放出来, Macos 系统中 Preferences–>Editor–>File Types 删除 *.idea 如下所示: 在这里插入图片描述 将下面这两个文件进行 revert 保持一致在进行 Git unstash 操作如下所示:

然后我们在按照上面 Git unstash 操作后,发现之前丢失的代码都回来了此刻已经感动的泪目。 在这里插入图片描述

到了这一步,还需要做的就是立刻、马上 commit 自己的代码然后提交到git 仓库上。

总结

此刻给自己敲响了一个警钟:以后在拉取服务器的代码前先保证自己的代码已经commit后,在从服务器上pull 代码。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3