V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
yueyoum
V2EX  ›  git

还是个 GIT 的问题

  •  
  •   yueyoum · 2014-05-29 18:40:30 +08:00 · 3645 次点击
    这是一个创建于 3833 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本地修改的文件,没有commit,
    如果执行了 git reset --hard HEAD

    那些修改是不是不可能找回来呢?
    26 条回复    2014-05-30 11:37:57 +08:00
    acthtml
        1
    acthtml  
       2014-05-29 18:46:21 +08:00
    有没有add 有的话 git reset,没的话没救。
    yueyoum
        2
    yueyoum  
    OP
       2014-05-29 18:49:22 +08:00
    @acthtml

    没有………………

    跑到同事那儿去操作, 然后把人家一天的工作搞报废了…………………………
    ijse
        3
    ijse  
       2014-05-29 18:49:24 +08:00
    如果文件没有tracked, 就没事。。
    yueyoum
        4
    yueyoum  
    OP
       2014-05-29 18:50:33 +08:00
    @ijse

    肯定是tracked了啊, 没tracked, git reset 根本不影响啊
    jsonline
        5
    jsonline  
       2014-05-29 19:09:12 +08:00 via Android
    没事别乱 hard
    kneep
        6
    kneep  
       2014-05-29 19:33:32 +08:00 via iPhone
    应该没救了
    ganxiyun
        7
    ganxiyun  
       2014-05-29 19:39:29 +08:00
    有些ide有local history,不知道有没有用
    yukirock
        8
    yukirock  
       2014-05-29 19:44:17 +08:00
    強烈建議把 git 目錄放到 Dropbox 目錄下,雙保險。
    NemoAlex
        9
    NemoAlex  
       2014-05-29 19:50:18 +08:00
    你同事改了一天都没有 commit 一次也是厉害
    jsonline
        10
    jsonline  
       2014-05-29 19:52:06 +08:00 via Android
    @NemoAlex 同感。
    ChiangDi
        11
    ChiangDi  
       2014-05-29 20:02:18 +08:00
    这怪你同事,一天都没commit
    rebornix
        12
    rebornix  
       2014-05-29 20:35:17 +08:00
    不同意楼上,有时候一天工作可能只是一个文件或者一个很小的feature,反复雕磨,不commit很正常。
    SoloCompany
        13
    SoloCompany  
       2014-05-29 21:43:07 +08:00
    JetBrains 党路过,表示 Local History 非常有用
    FatGhosta
        14
    FatGhosta  
       2014-05-29 22:25:55 +08:00
    学会git stash
    goofansu
        15
    goofansu  
       2014-05-29 23:00:07 +08:00
    goofansu
        16
    goofansu  
       2014-05-29 23:01:50 +08:00
    接15楼,我试了下,如果git add过,是可以找回的
    exch4nge
        17
    exch4nge  
       2014-05-29 23:06:04 +08:00   ❤️ 2
    commit要勤快,git stash也可。

    @rebornix GIT作为分布式的管理工具,我觉得可以修改一小部分就提交一次。到正式提交到服务器的时候,如果觉得commit太乱,可以先git rebase -i,整理一下commit,可以合并几个commit(同时可以改相关commit message),可以调整顺序,调整完顺序还可以只把前面几个有信心的commit提交到服务器上去。

    只要commit了,就不怕丢了,可以checkout,如果这commit被删,也基本上用reflog都回滚操作。
    peizh2006
        18
    peizh2006  
       2014-05-29 23:13:30 +08:00
    印象中add过就可以找回
    skydiver
        19
    skydiver  
       2014-05-29 23:30:11 +08:00
    只要add过都可以找回。
    ensonmj
        20
    ensonmj  
       2014-05-29 23:36:34 +08:00 via iPad
    vim的话也可以寄希望开了历史纪录
    itommy
        21
    itommy  
       2014-05-29 23:50:05 +08:00
    嗯嗯 应该这样像 @exch4nge 说的方式,无妨频繁 commit,rebase 整理。
    cyr1l
        22
    cyr1l  
       2014-05-30 00:52:22 +08:00
    JetBrains 的 local History 真的是非常好用, 还自带 diff.
    foru17
        23
    foru17  
       2014-05-30 02:38:11 +08:00
    我现在是在dropbox下放开发代码,之前试过有一次没commit 误输入rm -rf 了,从DP找回。add过的话,可以试一下 git reflog
    mahone3297
        24
    mahone3297  
       2014-05-30 07:07:58 +08:00
    add 过可以用git reflog查看历史
    没add过,算了吧。。。。
    dong3580
        25
    dong3580  
       2014-05-30 08:54:45 +08:00
    @goofansu
    幸好我养成了每次必定add的习惯,
    srjzcar
        26
    srjzcar  
       2014-05-30 11:37:57 +08:00
    个人开发不喜欢这么频繁的gc 团队就别省gc了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3583 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:11 · PVG 19:11 · LAX 03:11 · JFK 06:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.