Czasami jest kilka zmienionych plików razem z nowymi, usuniętymi i / lub zmienionymi nazwami plików. Robiąc git diff
lub git-log
chciałbym je pominąć, aby móc lepiej dostrzec modyfikacje.
Właściwie najlepiej byłoby wymienić nazwy nowych i usuniętych plików bez ich zawartości. W przypadku „starego” zmienionego na „nowy” chciałbym opcjonalnie uzyskać różnicę między „starym” a „nowym”.
git log
tym spowoduje całkowite zignorowanie zatwierdzeń, które tylko dodają i / lub usuwają pliki.--diff-filter=!D
Also, these upper-case letters can be downcased to exclude. E.g. --diff-filter=ad excludes added and deleted paths.
Przykład: pokaż tylko dodane, zmienione, zmodyfikowane pliki, wyklucz usunięte pliki:
źródło
UPDATE: Akceptowane odpowiedź Charles Bailey jest prawidłowa; pożądana funkcjonalność jest już wbudowana w git.
Zostawię tę odpowiedź tutaj, ponieważ może ona dostarczyć pomysłów na rzeczy, które nie są wbudowane w git.
git diff
pokazuje nowe i usunięte pliki, porównując je z/dev/null
. Nie powinno być zbyt trudne napisanie czegoś (sam bym użył Perla), który wyszukuje/dev/null
i filtruje następujące wiersze aż do następnego porównania. Wtedygit diff ... | the-filter
.Pliki o zmienionych nazwach to inna sprawa; Nie mam (jeszcze) dobrej odpowiedzi na to pytanie.
źródło
... | less
w sposób jawny.) Można spojrzeć naless
„s-E
lub-F
opcja (choć w moim systemie nie pozwól mi zobaczyć wyjście).