pycharm和git, pull前修改的东西消失了怎么办?

问题描述

在使用pycharm中的git的时候,直接使用了拉取(pull)小箭头。拉完之后发现之前新建的文件和一些改动不知道去哪里了。。。。

遇到问题先别慌,炸一下还能吃(bushi)

因为相信git和pycharm一定会留下一些我写过的痕迹,于是我找了一遍pycharm的history和recent changes,发现我确实没记错,我是新建过一个文件的。 但是在charm里面我没找到这个新建的文件内容是什么。

于是——找到project所保存的文件夹,里面有个文件夹叫“.idea”。

这么多文件我看哪个?

咱也不知道每个文件都是什么意思,但是根据修改时间,我们可以锁定到最新改动的一个文件夹:“shelf” 进到这个文件夹里,我就知道,我离找到我丢掉的文件不远了!因为里面有一个文件夹叫:“uncommitted changes before update”! 好了,就是这个了!

这个文件夹有什么内容?

现在看来只有一个文件 “shelved.patch” 这个文件里面长这样

1.当年有改变的文件

Index: 3minimap/get_ref_seqs_coregene.py
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+># -*- coding :utf-8 -*-

import pandas as pd
import os
import re
import dask.dataframe as d
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/3minimap/get_ref_seqs_coregene.py b/3minimap/get_ref_seqs_coregene.py
--- a/3minimap/get_ref_seqs_coregene.py	(revision 7dfee7a7f0bfdad3b64134e35410124d3de86de0)
+++ b/3minimap/get_ref_seqs_coregene.py	(date 1669377252646)
@@ -62,7 +62,7 @@
     # first, find the colunm "No. isolates" value == the num of sequences that compute the roary coregene
     # next, for each in_seq_name colunms, extrcat it column
     # then, write the whole column to a file named by in_seq_name
-    gene_presence_absence_df = dd.read_csv(gene_presence_absence_csv)
+    gene_presence_absence_df = dd.read_csv(gene_presence_absence_csv, dtype=object)
     seq_num = len(seqs_list)
     core_gene = gene_presence_absence_df[gene_presence_absence_df["No. isolates"] >= seq_num]
     for seq in seqs_list:

这就非常舒适了! 第一行告诉我们是哪个文件改了没有commit的 第一个<+>号的那行太长了,我只截了一段,看上去像是这个文件原来的所有内容 “========”分隔符 分隔符后面- - - +++的行,告诉我们是文件原本的改变和我们pull之后现在的情况(我猜是这样) @@行,我猜是告诉我们改在了第几行。(虽然从最后的文件来看具体行数不太准,但是基本可以看出来变化位置就在那几行范围之内) 然后再往下看就看到,有一行前面标了-号和+号,就是区别所在啦!!

2.当年新建的文件

费这么大劲,就是想找这个文件。当时新建了之后写了一些思路上的东西,今天pull的时候,这个文件就凭空消失了,甚至不是被删除的,因为回收站里找不到。。。。还好最终一通操作猛如虎,找回来了。

Index: 3minimap/extract_random_query.py
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/3minimap/extract_random_query.py b/3minimap/extract_random_query.py
new file mode 100644
--- /dev/null	(date 1669960796277)
+++ b/3minimap/extract_random_query.py	(date 1669960796277)
@@ -0,0 +1,9 @@
+# -*- coding:utf-8 -*-
+
+import os
+import get_ref_seqs_coregene
+
+#这个程序要完成
+# 1.从一个cluster list列表里面随机挑选k组m个序列
+# 2.从roary_corealign结果中找到这些序列对应的位置提取出来
+# 3.从minmap,cluster root序列所对应的比对结果中找到这一组序列所对应的比对结果
 No newline at end of file

有这个新建文件的diff记录做对比,和上面有改动的内容对照着看,大概能猜出来这些行的意思了。

经验分享 程序员 微信小程序 职场和发展