今天一个下午写的豆瓣登录框架, 自己手贱一个 git pull 就给搞没了.

2013-01-16 21:45:06 +08:00
 alexrezit
12770 次点击
所在节点    iDev
39 条回复
mrhooray
2013-01-17 10:28:24 +08:00
@mrhooray 楼主贴一下git log上来?
alexrezit
2013-01-17 11:23:18 +08:00
@neo1989
@xatest
@mrhooray

g init
g add *
g rm -r --cached RSocialDemo.xcodeproj/xcuserdata/
g remote add origin git@github.com:AlexRezit/RSocialDemo.git
gpl
gps
l
lr

就是这样...
g="git"
gpl="git pull"
gps="git push"
l="ls -FG"
lr="ls -FGR"
chenha0
2013-01-17 11:29:05 +08:00
自从用了zsh在命令行提示符里提示有未提交代码就没发生过这种悲剧。。
chloerei
2013-01-17 11:44:41 +08:00
我重现一遍,到 git pull 的时候应该会出现

There is no tracking information for the current branch.
Please specify which branch you want to merge with.

数据没丢。

但是指定分支之后 git pull origin master,pull 成功,数据丢了。

后来再测试,先 commit 一次,再修改再 pull,pull 失败,数据还在。

看来真的是 init 之后 add 了不 commit,然后 pull,add 的数据会丢。
chloerei
2013-01-17 11:47:13 +08:00
我的习惯是进行任何操作前都 git status,确保 working directory clean 才进行操作。
alexrezit
2013-01-17 11:52:24 +08:00
@chloerei
我手太快了... orz
swulling
2013-01-17 12:06:28 +08:00
@alexrezit
@chloerei

其实是能找回来的,我测试了下

在你git pull origin master后,看起来你原来在stage区域的文件是丢了。但其实没有


$ git fsck --lost-found
Checking object directories: 100% (256/256), done.
Checking objects: 100% (748/748), done.
dangling blob 61780798228d17af2d34fce4cfbdf35556832472
dangling blob 78981922613b2afb6025042ff6bd878ac1994e85
dangling blob f2ad6c76f0115a6ba5b00456a849810e7ec0af20

然后去.git/lost-found/other就能找到这些blob
swulling
2013-01-17 12:07:29 +08:00
@alexrezit
@chloerei
唯一的缺点就是目录结构和文件名都没了,不过相信也是一大帮助吧。。。

另外编辑器的自动保存功能也很重要,我的VIM常年打开 backup , so。。。
swulling
2013-01-17 12:08:35 +08:00
再补充一下,git add 空文件是找不回来,只能找回文件的内容。。
qiukun
2013-01-17 12:11:14 +08:00
开学也遇到 git 用不好的状况。就没有 lightweight 点的吗?我不用 branch 神马的,我只要恢复
swulling
2013-01-17 12:12:05 +08:00
@qiukun Dropbox,支持History version
alexrezit
2013-01-17 12:43:34 +08:00
@swulling
Thx. 不过我已经重写完了.
btw 怎么使用 vim 的 backup 功能?


@qiukun
你是神马专业的啊?
还是好好学 git 吧, 这个无所谓轻量不轻量的.
swulling
2013-01-17 13:41:00 +08:00
@alexrezit 我的vim config

"" 备份/Backups
set undodir=~/.vim/tmp/undo// " undo files
set backupdir=~/.vim/tmp/backup// " backups
set directory=~/.vim/tmp/swap// " swap files
set backup " enable backups

有一次不小心把编辑了很久的文件直接rm了,但是在backupdir中找回来了。。而且就连swap文件都会backup
qiukun
2013-01-17 13:53:50 +08:00
@alexrezit 计算机科学与技术,嗯,下个 project 好好学 git
@swulling 0 0 那下次扔硬币决定用哪个
alexrezit
2013-01-17 15:51:35 +08:00
@swulling
Thanks. 已加入我的 vimrc.

@qiukun
原来是妓院的... 如果你真的是大一的话, 应该还在宏福吧? 和我们软院的苦逼同学们在一个校区... = =
sutar
2013-01-17 17:04:27 +08:00
@qiukun hg也可以考虑
alexrezit
2013-01-17 17:55:44 +08:00
@sutar
hg 不如 git.
wgziOS
2017-06-01 09:06:58 +08:00
@swulling 说的对
YIFEIO
2018-01-21 17:08:46 +08:00
杯具。。。我写了一周的代码没了,幸亏只是用来学习的一个小项目

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/57818

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX