从 git 存储库历史记录 w 搜索命令中删除所有已删除的文件



必须启动版本控制最初不在版本控制中的项目。 因此,存储库现在是 17GB,如果我们要将存储库连接到 github,则需要配对(站点本身现在配对到大约 600mb)。

基本上,我们希望从存储库中完全删除在配对过程中删除的任何内容。 我找到了一个很棒的命令来查找每个已删除的文件。

git log --all --pretty=format: --name-only --diff-filter=D | sort -u

它漂亮地列出了文件。

现在,我如何将其管道连接到从历史记录中清除它所需的命令。类似的东西。

git filter-branch --tree-filter 'rm -rf { file }' HEAD

我已经制作了存储库的备份副本,所以如果我完全搞砸了,一切都会好起来的。

这是将所有文件循环到的正确命令吗? 如果是这样,我该怎么做?

好的,xargs 需要一点帮助。我们需要每行使用一个,但替换为该过滤器分支命令:

git log --all --pretty=format: --name-only --diff-filter=D | sort -u | while read -r line; do git filter-branch -f --tree-filter "rm -rf { $line }" HEAD; done

我们还必须指定 -f 标志来过滤分支以删除旧的引用,每个 从 Git 存储库中清除文件失败,无法创建新备份

相关内容

  • 没有找到相关文章

最新更新