我正在使用源树。我创建了一个包含多个更改的存储库,并错误地将其删除。有没有办法把它们找回来?
最佳答案
stash 在内部保存为从 stash 列表引用的 merge 提交。git fsck
可以找到悬空物体。它不仅会找到您已删除的 stash ,而且可能还会找到其他东西......您正在寻找的一个)。
一旦你有了它,你需要做的就是将它重新插入到 stash 列表中。该列表存储在 git show <ID>
中,一行具有以下格式:
<ID of previous stash commit in list or 0000000000000000000000000000000000000000 if none> <ID of merge commit> Your Name <[email protected]> <UNIX timestamp> <time zone, e.g. +0000><TAB char><description of stash>
这是一个工作示例:
16b9a2d400dafe7ea25592029e3e5582d025c7d8 5def7605dfe625e8b3a3152fe52a87cc36694b6a Jan Krüger <email.censored@invalid> 1374227992 +0200 WIP on master: 0dbd812 Update draft release notes to 1.8.4
只需为要重新插入的 stash 合成一行(名称/邮件/时间戳/描述不必准确),您应该可以再次正常使用它。
狩猎快乐!
关于git - 使用 SourceTree 在 Git 中检索已删除的存储,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17743078/