我有一个本地存储库,我们称之为A
。
在A
我有很多LOST_FOUND,我想要恢复。
恢复上述提交的最佳(也是最不危险)方法是什么?
(我真的不能说为什么他们会迷路,老实说我以为我做了一个简单的“提交,回家过去”-kinda操作,但显然它变成了别的东西。
编辑:执行git branch foundit LOST_FOUND_N
结果
error: Object #SHA1 is a blob, not a commit
fatal: Not a valid branch point: `LOST_FOUND_N`.
(其中#SHA1
为a,SHA1
,N
是LOST_FOUND
的数量
编辑2:在LOST_FOUND_文件上执行git show
表明它们主要映射到我丢失的文件(但并非所有文件都属于同一文件提交(据我所知,我不记得我每次提交的确切内容),甚至是同一个分支。)
答案 0 :(得分:4)
我的.bashrc中有以下别名:
alias gitkall='git fsck --lost-found | awk "{ print \$3 ; }" | xargs gitk --all'
它创建了一个命令gitkall,它显示了存储库中的每个修订版,包括那些从历史编辑中遗留下来的修订版等。
通过gitk gui,可以轻松直观地标记有趣的丢失修订,制作新的分支等。
答案 1 :(得分:0)
我会继续自己回答:
请注意,这个答案特定于这个问题,而不是一个普遍的解决方法:
git show FILE
git show FILE > FILENAME
请注意,这只会为您提供您找到的文件的内容,而不是目录的结构。