gpt4 book ai didi

git - 是否可以撤消 `git checkout -- .` 以检索未暂存的更改

转载 作者:行者123 更新时间:2023-12-04 11:34:23 27 4
gpt4 key购买 nike

不小心,我做了 git checkout -- .并失去了一周的工作。我试过 git reflog ,但没有一个引用点与我消除的非交错变化。

是否可以撤消 git checkout -- . (git checkout 双破折号)

使用 git object 来恢复这些东西怎么样?即使没有 git commit,git 是否也会拍摄存储库的快照? ?

最佳答案

不幸的是:如果你想检索你的文件,你的文件内容必须以某种方式登陆 git。git checkout -- .是少数破坏性命令之一(以及 git reset --hardgit clean -f ),它可以从磁盘中删除内容,而无需事先将其存储在 git 中。
所以 git 本身不会帮助你;您将不得不求助于 IDE 的历史记录或文件恢复实用程序。

作为记录,以下是在您的存储库中以某种方式“存储内容”的操作:

  • git commit ,显然...
  • git stash : 这个命令实际上创建了完整的提交,你创建的最后一个不会过期,之前的 stash 将根据 reflog 过期规则过期(默认保留为 30 天,请参阅 git gc 上的帮助)
  • git add [file] (即使没有运行 git commit ):这会将文件的内容写入 git 数据库中的某处;该文件不会与其名称一起存储,但您可以使用一些技巧来扫描文件(git 用语中的 blob s)的内容。 “松散文件”的默认保留期为 2 周(请参阅 git gc 上的帮助)
  • 关于git - 是否可以撤消 `git checkout -- .` 以检索未暂存的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45726367/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com