如何找到所有文件(比如符号链接)曾经添加到git仓库中?
git ls-tree -r master
仅输出一个分支的文件,而不是整个历史记录...
(第一列包含模式,对于链接来说是12000)
12000
我想要搜索它们,然后用git filter-branch进行过滤。
git filter-branch
问题出现的原因:在整个git仓库中查找特定文件,但不改变文件,也不改写历史记录。
解决方法:运行tree-filter命令,该命令提取每个提交中的所有文件,并在输出中检查是否包含12000。具体命令如下:git filter-branch --tree-filter $'git ls-files --stage | sed -e \'/12000/!d\' --all | cut -f 2'。该命令不会改变文件,因此也不会改写历史记录。对此有疑问的话,可以请其他人确认一下。
git filter-branch --tree-filter $'git ls-files --stage | sed -e \'/12000/!d\' --all | cut -f 2'
用户名或电子邮箱地址
密码