问题描述
假设我删除了一个文件 foo
以及对 HEAD 的许多其他更改(哈希显然是假的!)
$ git rev-parse --short HEAD
00AAAAAAAA
$ git add . # lots of changes
$ git rm foo
$ git commit -m 'changed stuff,removed foo'
$ git rev-parse --short HEAD
04DDDDDDDD
几次提交后,我决定我真的不想删除 foo
。如何恢复它,同时恢复它的所有 git blame
信息?如果我只是git checkout 00AAAAAAAA -- foo
,它会显示为一个新文件,因此不会保留任何责备信息。 git revert -n 00AAAAAAAA
同上,然后手动删除额外的还原,甚至 git restore --source 00AAAAAAAA
。所有这些都恢复了被删除文件的内容,但我丢失了git blame
信息。
是否有一些我缺少的标准选项可以执行此操作,还是我必须通过挖掘提交树来推出自己的选项?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)