Ich frage mich, ob jemand einen effizienteren, intelligenteren Weg hat, dies zu tun. Das Schleifenkonstrukt erfordert, dass alle gelöschten Dateien von jedem Commit gelöscht werden, indem jedes Commit gelesen wird. Bei vielen Commits dauert das lange.git lösche alle gelöschten Dateien aus dem gesamten Verlauf
git log --pretty=format: --name-status | grep -i ^D | cut -f2- | sort -u | xargs -I {} git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch {}' HEAD
Ich habe 'grep -v -x -f/tmp/files-in-repo.txt' zusammen mit' xargs --delimiter = \\ n -r git rm ... 'nützlich gefunden. –