我想通过整个历史记录还原所有已删除的文件,这意味着要在删除该文件的提交之前将文件检出到提交中?
答案 0 :(得分:3)
在bash上下文中*,您可以使用
从存储库中获得所有已删除文件的排序列表<script type="text/javascript">
var ip = "<?php echo gethostbyname('example.com'); ?>";
alert(ip);
</script>
其中
git log --all --diff-filter=D --name-only --pretty=format:'' | sort | uniq
表示记录所有提交,而不考虑--all
当前的位置
HEAD
过滤器显示的提交符合以下条件:“ --diff-filter=D
”,表示“已删除”
D
输出文件名
--name-only
关闭除文件名之外的任何其他输出
然后生成的git命令返回一个列表,该列表被发送到
--pretty=format:''
对列表进行字母排序,然后
| sort
仅对每个加倍的行保留一个实例(否则,文件删除然后重新创建然后再删除的文件将在列表中出现两次)
当然,您可能还希望限制范围以考虑历史遍历。如果仅需要从分支| uniq
中删除的提交,则将其添加为super-feature
作为日志记录(请参阅doc),如果省略,则回退到{{1 }}:
<revision range>
* (例如,在基于linux的系统上本地运行,或者在GitBash中用于Windows用户)