git
› Pro Git
› Atlassian Git Tutorial
› Pro Git 简体中文翻译
› GitX
eggt
V2EX  ›  git

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

  •  1
     
  •   eggt · Nov 8, 2023 · 4882 views
    This topic created in 1092 days ago, the information mentioned may be changed or developed.

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

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