|
这有点奇怪,特别是考虑到可以git checkout -追溯到上一个分支;如果您--在结账时在分支名称后使用,那么它会让您指定您要查找的特定文件。这不是你能猜到的东西,但一旦你知道它就非常方便。 复制 让状态更容易阅一条推文中,Tomasz Łakomy 提到使用标志来减少 git status 的输出-sb,并说道,“我已经使用 git 多年了,没有人告诉我这件事。” 严格来说,这并不是要查找丢失的文件,但在某些情况下,简化输出可以更轻松地查看已更改的内容。 大多数 git 命令都有这样的标志,因此始终值得研究如何使用它们来自定义您的工作流程! 复制 查看发生的一时会出现完全错误的情况,例如在提交阶段性更改之前意外丢弃它们。
当 git log 不足以返回到您上次所做的事情并且上述提示都没有帮助时,那么就可 英国电话号码清单 以使用git reflog。 您在 git 中所做的所有更改HEAD@{}指向的位置(例如的操作都会更新引用日志,因此无论您位于哪个分支,它本质上都充当您所做的所有操作的历史记录。这与 git log 形成鲜明对比,git log 是特定分支随时间变化的所有内容。 概览尽在一处 有了提交 ID,您就可以执行 git show 来查看更改,如果它确实是您想要的更改,您可以使用 git checkout 甚至选择一个特定文件,如上所示。
复制 从未提交的暂存文件 在 git reflog 无法帮助您恢复文件的极端情况下(例如,如果您对暂存文件进行了硬重置),那么还有一个妙招。每个更改都存储在.git/objects活动项目中,其中充满了文件并且无法破译。然而,有一个名为 git 的命令git fsck用于验证存储库中的完整性(检查损坏的文件)。我们可以使用带有标志的命令--lost-found来查找与提交无关的所有文件;这些文件称为“悬挂 blob”。 --dangling它还会找到“悬挂树”和“悬挂提交”——如果需要,您可以使用它,但--lost-found它的优点是它将所有适当的文件提取到一个文件夹中.git/lost-found。在一个活跃的项目中,您可能会有很多这些悬空文件,但您甚至不知道它们;git 有一个垃圾清理命令,可以定期运行来清除它们。 因此,通过使用--lost-found,您可以列出文件并查看它们的创建时间/日期,这使得您可以更轻松地查看您正在查找的文件。
|
|