写了一天的代码没 git add ,创建一个新的分支后用 rm -rf *清掉了从 master 继承过来的全部代码,准备写入新的代码。当切回 master 时,发现整个世界都静止了(手动微笑
用了两个多小时把这一天写的代码又都回想起来并调试成功,终于长舒了一口气。
你说我手贱不贱?
贱。
用了两个多小时把这一天写的代码又都回想起来并调试成功,终于长舒了一口气。
你说我手贱不贱?
贱。
|
1
这时候 intellij 的 local history 就很有用了。
|
|
xmh51Apr 6, 2017
2
这时候体现了代码放网盘同步文件夹的重要性
|
|
changweiApr 6, 2017
3
好气啊!!!
|
|
NonClockworkChenApr 6, 2017
4
已感谢,浪费了你的 2 小时,拯救了 2 小时*n....
|
|
guokekeApr 6, 2017
5
既视感强烈
|
|
moonmanApr 6, 2017
6
我能怎么办我也很绝望啊
|
|
7
回家睡一觉,假装今天不存在,明天重新开始
|
|
8
充分证明 deadline 是第一生产力
|
|
loopljApr 6, 2017
9
今天差点就这么干了。
|
|
markxApr 6, 2017
10
说明流程还可以改善一下。
|
|
leisurelylichtApr 6, 2017
11
我今天也干了这么一把, 还好找回一个调试时留下的编译文件,还原出代码以后就下班了,心累。。。
|
|
12
说明你今天工作量非常不饱满,其实 2h 就搞定了。。。
|
|
zmj1316Apr 6, 2017
13
真巧,我今天也把前几天的代码删了,是因为 merge 错 branch 了,结果 revert 的时候选了 hard ,把没 commit 的也一起 revert 了...
|
|
14
mac 上有 timemachine 每小时备份
linux 上有 btrfs + snapper 每小时一个 snapshot 出问题顶多丢一个小时的东西…… 当然,除非 btrfs (又)炸了…… |
|
xdream86Apr 6, 2017
15
干过同样傻事+1
|
|
greatghoulApr 6, 2017
16
干过同样的傻事 +1
|
|
NonClockworkChenApr 6, 2017
17
@ooxxcc 这是 CentOS 的独有功能吗,Ubuntu 非 btrfs....有替代方案吗...
|
|
18
我也干过类似的事情,用 intellij 的 local history 找回来了
|
|
xioyanApr 6, 2017
19
这个没做过,不过就是写论文的时候忘记了保存而已
|
|
mritdApr 6, 2017 via iPhone
20
@NonClockworkChen 不是 centos 专有的,是一个 linux 分区格式,类似 ext4 一样,出现的目的就是为了弥补当前一些文件系统的缺陷
|
|
crabApr 6, 2017
21
不能明天上班再写一次吗 = =!
|
|
47jm9ozpApr 6, 2017
22
@NonClockworkChen 不是 CentOS ,我用的 archlinux ……只要文件系统是 btrfs 就行, snapper 自己可以装
替代方案没考虑过……新挂个分区 /镜像格式化成 btrfs/zfs 这类支持 snapshot 的文件系统就好…… |
|
jimmy66Apr 6, 2017 via iPhone
23
心疼一波前辈😂
|
|
24
所以用 git rm 命令,不要用 rm -rf
或者用 git clean 命令, git 库管理尽量使用 git 命令,可以在 reflog 里回退 |
|
25
@NonClockworkChen #17 btrfs 有提供工具( btrfs-convert )将 ext{3, 4}转换成 btrfs 。但 snapper 在 arch 上一直报权限错误,最后用的这个 https://github.com/jf647/btrfs-snap
|
|
qk3zApr 6, 2017 via Android
27
我已经干过两次了-_-
|
|
bp0Apr 6, 2017
28
我也干过一次,充分说明设计才是最费时间的。码代码真的跟搬砖一样是体力活。
|
|
cinhooApr 6, 2017
29
@ooxxcc #26 直接命令行创建 snapshot 是没问题的,但是 cron 创建的时候就报 No Permission 。要说是 cron 的问题好像也不是, snapper 和 btrfs-snap 的任务都是放在 cron.{hourly,day...}下的。后面直接用了 btrfs-snap ,不管了。
|
|
30
有一个周六的晚上!我写了一个晚上的文章 要发博客的!因为电脑开的程序比较多...在四点的时候电脑死机了!只有重启电脑才能好!你们都知道 simplemde 吧!博客的富文本编辑器就会他!没有自动保存的功能那种!我当时的内心你们可能感受不到!写到半夜四点啊 没了!后来我学聪明了 在简书写 !写了在复制到我博客上 ....
|
|
yruiteApr 6, 2017
31
我想起一个笑话:一个小蝌蚪拼命地游啊游,打败了所有的对手,到达终点时发现只是一张纸巾
|
|
v2xeuserApr 6, 2017
32
这种错误我应该不会再犯 理论上
|
|
taozhijiangscuApr 6, 2017
33
昨天干了类似的事情,原来打算删调试机上代码的,结果把开发机上的代码删掉了。
幸亏我机制将代码放到 Dropbox 可以触及的地方。 话说现在 Dropbox 改版了,误删的文件恢复起来更便捷了 |
|
moreweApr 6, 2017
34
刚工作的时候曾经把我和一个同事 2 , 3 天的代码给删了,囧。
|
|
35
曾经花 2h 魔改一个程序,费好大劲把编译错误都修完,一运行,然后这货就把自己目录连同自己都删了...
|
|
36
线上线下两台服务器配置一模一样,线上是绝对不用 rm -rf./*的,昨天早上上班,手滑点错 shell 界面了,连到线上去了。
而且手滑,/不知道为啥没输入,你猜怎么样吧。 快照回退到一星期前,线下版本部署上去。差点吓晕过去。。。。 |
|
bomblessApr 6, 2017 via Android
37
……从来不需要 rm *,不过试过用 git clean 时犯类似的错(
|
|
HuangLiboApr 7, 2017
38
sudo rm -rf / 是一个更强大的命令, 楼主可以试试.
|
|
39
花两个小时回忆起代码 不等于 创作代码只需要两小时,这应该不难理解吧,就像你写一篇文章要一个小时,复述这篇文章可能只要 5 分钟
|
|
bazingaterryApr 7, 2017
40
干过同样的傻事 +1
|
|
DioVApr 7, 2017
41
(手动滑稽
|
|
sheep3Apr 7, 2017
42
干过...... 不过多亏了 idea
|
|
ljcarsenalApr 7, 2017
43
微软也用 linux ?
|
|
msg7086Apr 7, 2017
44
没遇到过这种破事。自以为没信心手工跑 Git ,所以都让工具帮我做,省心。
|
|
45
请养成下列习惯:
勤开分支 写完一个小模块或小改动就马上提交 勤推送提交和分支 push 禁止加--force reset 禁止加--hard commit 禁止加-a 话说实际上 git 的每一个提交都应该是明确的“一件事”,写一天的代码如果能拆成几件事的话就最好及时分几次提交,而不是等一天甚至几天写完再提交,任何工作都应该新开一个分支进行开发和提交,因为保不齐会尝试多种方案以及对原分支的紧急修改上线。 |
|
icylogicApr 7, 2017
46
一直在 Dropbox 里写代码
为什么都这么喜欢 rm -rf ,用回收站多好 …… |
|
47
看成了临下班前一天把代码全删了
还以为离职前一天删代码跑路 |
|
lsmgeb89Apr 7, 2017
48
rm 可以找回来的,很容易。
但是有一次我误把代码覆盖了,真找不回来了。 用的 Perforce ,不是 Git |
|
darrenfangApr 7, 2017 via iPhone
49
试试这个命令 git fsck --lost-found ,没 add 的不知道能不能找回
|
|
xiaketApr 7, 2017
50
~/.vim/backup 救了我若干次
|
|
maguoweiApr 7, 2017
51
intellij 的 local history +1
|
|
dinghuaApr 7, 2017
52
祸兮福所倚, 说不定再写一遍代码质量会更高呢
|
|
reHuoApr 7, 2017
53
local history +1
|
|
MutooApr 7, 2017
54
有 local history ,即使删除掉关机重启都不怕。
|
|
mcdsApr 7, 2017
55
这事儿我也干过,当时文件系统是 ext3 ,想用 extundelete 恢复必须得 unmount 硬盘,公司不让 unmount (老爷机,上次重启硬盘就挂了),最后跟楼主一样,花了两个小时又重新写了一遍...
|
|
discreteApr 7, 2017 via iPad
56
|
|
chinawrjApr 7, 2017
57
竟然不是写一段代码提交一段代码。也是醉了。
|
|
chinawrjApr 7, 2017
58
不是手贱的问题啊,是习惯问题。谁也不能保证自己在关键时候不出错,所以只能过一段时间提交一次,把损失降到最低。
|
|
lrh3321Apr 7, 2017
59
中午吃饭前不提交一次?
|
|
yang2yangApr 7, 2017
60
程序员的日常
|
|
nameldkApr 7, 2017
63
Local History 分分钟找回。
|
|
SummerWQMApr 7, 2017
64
commit 啊
|
|
ClarencepApr 7, 2017
65
以前干过类似这种的蠢事,还好 IdeaJ 有 Local history. 现在用 vscode 的时候果断也装了个 local history 的插件
|
|
deepzzApr 7, 2017
66
rm -rf *是什么鬼,为什么会有这个操作
|
|
lwbjingApr 7, 2017
67
曾经为了这事儿,我加了一整个周末的班。。
|
|
licraftApr 7, 2017
68
git 好像有回退执行过的指令的功能的
|
|
wizardozApr 7, 2017
69
没关系,写过的代码重写一遍会更整洁。
|
|
zzczzcApr 7, 2017
70
我也被 intellij 的 local history 拯救过
|
|
blackleeApr 7, 2017
71
习惯不好。
我用最简单的 VIM+git ,几年了也没出这样的事。 不过前几天我把自己的数据库数据改错了,气得我几天没干活,一直在反思。 |
|
jkneedoutApr 7, 2017 via iPhone
72
@Archangel_SDY 2333
|
|
yujieyu7Apr 7, 2017
73
没事一定要 add commit push 一下啊
|
|
wayeApr 7, 2017
74
曾经把写了一个月的代码 del 掉了, 花了一个星期 恢复出来, 23333333
|
|
lyragosaApr 7, 2017
75
local history 再次立功!
|
|
fan1234nmApr 7, 2017
76
Local History 分分钟找回啊
|
|
fdsApr 7, 2017
77
所以要随时 commit 呀。嫌历史不好看,提交前 rebase -i 整理成一个就好了嘛。
|
|
justfinduApr 7, 2017
78
我前几天也做了这个事儿 切回分支然后懵逼
|
|
justfinduApr 7, 2017
79
神器啊~ local history 再次立功了
|
|
zacardApr 7, 2017
80
idea local history
|
|
reusApr 7, 2017
81
zfs 或者 btrfs + 自动 snapshot 。
我是 5 分钟一次,所以丢也只会丢 5 分钟内的。 |
|
yuyu2140Apr 7, 2017
82
local history +10086 次拯救
|
|
ShadowsocksR18Apr 7, 2017
83
我上一个单位,还有管理员辞职前在 SVN 上删了一个月的代码呢……
|
|
8355Apr 7, 2017
84
local history 真的有用
一天都不 add 和 commit 一下? |
|
easingApr 7, 2017
85
哈哈,也干过这种事情,后来就再也没犯过了
|
|
woai110120130Apr 7, 2017
86
之前上过一次写了一周的,做的一个挺大的需求,写了一个月. 因为总是喜欢在干净的分支上开发代码,总是把项目 rm -rf 删掉之后再重新 sync 下来开发,有次来了个新的紧急 bug ,就脑袋一热把写了一星期的代码删掉了....
后来总结是流程有问题,改成每天下班把代码提交到服务器(不合入),之后追加上去 |
|
HalryApr 7, 2017 via Android
90
试过在手提上写了一堆代码,现场没有调试工具,盖上后拿回家
tm 打开后解锁卡在登陆界面。。。 |
|
lk1ngaa7Apr 7, 2017
91
刚好重构一次
|
|
zhangguanzhangApr 8, 2017
94
@HuangLibo 你听说过 chmod -Rf 0000 /*吗
|
|
HuangLiboApr 11, 2017
95
@zhangguanzhang
承让, 我只把 / 用 compress 处理过, 大家殊途同归 |