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

在线救急, git 本地仓库不小心全部删除了还能恢复吗?

  •  1
     
  •   eggt · 2023-11-08 14:43:17 +08:00 · 3417 次点击
    这是一个创建于 406 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在仓库内不小心执行了rm -rm * 直接把本地所有数据都清空了,现在主要的问题是还能找回本地修改的代码吗?git ststus显示所有文件都是delete的,执行了git checkout -- . 命令只是把不带本地修改的代码仓恢复了,但是这个没啥用啊,没有找回本地修改,大佬们有啥办法恢复本地修改的代码吗?

    第 1 条附言  ·  2023-11-08 17:25:38 +08:00
    感谢各位大佬,最终通过 vscode 的 local history 功能全部恢复了
    27 条回复    2023-11-09 13:25:03 +08:00
    rming
        1
    rming  
       2023-11-08 14:44:13 +08:00
    无了
    Kuromis
        2
    Kuromis  
       2023-11-08 14:46:14 +08:00
    听你描述的情况,是不可能恢复了
    gadfly3173
        3
    gadfly3173  
       2023-11-08 14:48:20 +08:00 via Android
    没有 commit 的话恢复不了,可以看看代码编辑器里的历史记录里还有没有,比如 idea 能保存最近 30 次内的修改
    lechain
        4
    lechain  
       2023-11-08 14:48:25 +08:00
    本地修改没有 add 就找不回来,连 add 都没 add 的文件,被删了找 git 也没有用,跟 git 都没扯上关系
    snitfk
        5
    snitfk  
       2023-11-08 14:52:31 +08:00
    每天 commit 是个好习惯。
    eggt
        6
    eggt  
    OP
       2023-11-08 14:53:20 +08:00
    @gadfly3173 vscode 有这个功能吗
    mt52
        7
    mt52  
       2023-11-08 14:55:05 +08:00
    @eggt vscode 有个 TIMELINE, 保存文件历史版本你可以看下
    Imindzzz
        8
    Imindzzz  
       2023-11-08 14:56:01 +08:00 via Android
    git reflog 试试
    Imindzzz
        9
    Imindzzz  
       2023-11-08 14:57:02 +08:00 via Android
    先备份一下.git 目录吧
    shuxhan
        10
    shuxhan  
       2023-11-08 14:59:33 +08:00
    关键在于.git 文件夹,如果能找回万事大吉,里面保存所有的操作记录,听你的描述够呛找回。
    eggt
        11
    eggt  
    OP
       2023-11-08 15:03:10 +08:00
    @shuxhan 这个在啊,怎么利用它恢复啊
    sechi
        12
    sechi  
       2023-11-08 15:05:23 +08:00
    如果已经 add 了可以试一下 reflog ,如果没 add 那就寄了
    eggt
        13
    eggt  
    OP
       2023-11-08 15:05:25 +08:00
    @mt52 这个没用啊,只显示 git 的提交记录
    lzgshsj
        14
    lzgshsj  
       2023-11-08 15:35:36 +08:00   ❤️ 1
    vscode 的话,有个时间线,可以本地历史记录的。
    nutting
        15
    nutting  
       2023-11-08 15:39:07 +08:00
    ide 自带的历史记录里找找
    Yuhyeong
        16
    Yuhyeong  
       2023-11-08 15:45:38 +08:00
    .git 文件夹还在吗,不在直接没了。在的话按道理说正常的 check 操作就能复原。用 rm -rf *,基本不可能恢复了。
    段子成为现实
    mcluyu
        17
    mcluyu  
       2023-11-08 15:50:25 +08:00
    经常 commit , 经常 push , 一天好几回那种, 习惯养成, 收益良多,删了损失无非就是几小时的工作
    shuxhan
        18
    shuxhan  
       2023-11-08 15:55:20 +08:00
    @eggt #11 看错了,你最新的好像没有提交 commit 吧
    eggt
        19
    eggt  
    OP
       2023-11-08 16:04:17 +08:00
    @lzgshsj 没了啊,它加载变成了新文件😭
    eggt
        20
    eggt  
    OP
       2023-11-08 16:38:53 +08:00
    @lzgshsj 在时间线右上角三个点上点击了一下。发现了新大陆啊,找到本地历史记录了,太好了,非常感谢😂,我挨个恢复一下。
    Aboceder
        21
    Aboceder  
       2023-11-08 16:40:01 +08:00
    idea 有个本地历史记录,跟 git 无关的,我之前误操作还原了修改的代码,就是在这里找回的
    impanghu
        22
    impanghu  
       2023-11-08 16:48:13 +08:00
    如果是 idea 的话,有本地历史记录可以找找
    QHKZ
        23
    QHKZ  
       2023-11-08 17:14:45 +08:00 via iPhone
    git reflog
    shiroyuri
        24
    shiroyuri  
       2023-11-08 17:37:01 +08:00
    有 add 过的可以通过 reflog ,没有的话就用 IDE 的编辑历史,如果都没有那就放弃吧
    SimonOne
        25
    SimonOne  
       2023-11-08 20:36:37 +08:00
    以为自己时间线跳动了,一查确实看到过很多次类似的主题,哈哈哈
    https://www.v2ex.com/t/941333
    https://www.v2ex.com/t/899029
    DefoliationM
        26
    DefoliationM  
       2023-11-09 12:21:34 +08:00 via Android
    建议 alias rm=trash-put ,防止误删除
    julyclyde
        27
    julyclyde  
       2023-11-09 13:25:03 +08:00
    @DefoliationM 这样会养成依赖心理,会肆无忌惮的删除
    until 遇到一个真正的 rm
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1008 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:00 · PVG 05:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.