407 Stimmen

Wie kann ich alle gelöschten Dateien in einem Git-Repository auflisten?

Ich weiß, dass Git Informationen darüber speichert, wann Dateien gelöscht werden, und ich kann einzelne Commits überprüfen, um zu sehen, welche Dateien entfernt wurden, aber gibt es einen Befehl, der eine Liste aller gelöschten Dateien über die Lebensdauer eines Repositorys erstellt?

5voto

James Skemp Punkte 7626

Da Windows nicht über eine grep funktioniert das bei mir in PowerShell:

git log --find-renames --diff-filter=D --summary | Select-String -Pattern "delete mode" | sort -u > deletions.txt

5voto

vix2 Punkte 51

Alle gelöschten Dateien anzeigen in irgendein_Zweig

git diff origin/master...origin/some_branch --name-status | grep ^D

oder

git diff origin/master...origin/some_branch --name-status --diff-filter=D

2voto

Mr_and_Mrs_D Punkte 29254

So erhalten Sie eine Liste aller Dateien, die in allen Zweigen gelöscht wurden, sortiert nach ihrem Pfad:

git log --diff-filter=D --summary | grep "delete mode 100" | cut -c 21- | sort > deleted.txt

Funktioniert in msysgit (2.6.1.Windows.1). Beachten Sie, dass wir "delete mode 100" benötigen, da Git-Dateien möglicherweise im Modus 100644 oder 100755 übertragen wurden.

2voto

Aman Kumar Punkte 31

Wenn Sie möchten, dass die Namen nur durch einen Zeilenumbruch getrennt werden, können Sie die Option --name-only Flagge wie diese:

git diff --diff-filter=D --name-only <old-commit-hash> <new-commit-hash>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X