Get Git Changed Files
Zuletzt geändert: 14.03.2026 05:56

Get-GitChangedFiles #

ÜBERSICHT #

Gibt geänderte Dateien seit einem bestimmten Git-Commit zurück.

SYNTAX #

Get-GitChangedFiles [-Path] <string> [[-Extension] <string>] [[-SubPath] <string>] [[-SinceCommit]
    <string>] [<CommonParameters>]

BESCHREIBUNG #

Diese Funktion ermittelt per git diff --name-only die geänderten Dateien zwischen einem Referenz-Commit und HEAD. Standardmäßig wird ORIG_HEAD als Referenz verwendet, was dem Stand vor dem letzten git pull entspricht.

Die Ergebnisse können nach Dateierweiterung (-Extension) und Teilpfad (-SubPath) gefiltert werden. Git-eskapierte Pfade mit Umlauten werden automatisch über Convert-GitEscapedPath dekodiert. Nur tatsächlich vorhandene Dateien werden zurückgegeben (gelöschte Dateien werden übersprungen).

PARAMETER #

-Path #

Type: string

Basisverzeichnis des Git-Repositories.

-Extension #

Type: string

Dateierweiterungs-Muster für die Git-Pathspec (z. B. *.md, *.ps1). Wenn nicht angegeben, werden alle Dateien berücksichtigt.

-SubPath #

Type: string

Optionaler Teilpfad, der im relativen Dateipfad enthalten sein muss (z. B. content/). Wenn nicht angegeben, wird nicht gefiltert.

-SinceCommit #

Type: string

Commit-Hash, ab dem verglichen wird. Wenn nicht angegeben, wird ORIG_HEAD verwendet (entspricht dem Stand vor dem letzten git pull).

AUSGABEN #

[string[]] -- Liste vollständiger Pfade zu geänderten Dateien, die auf der Festplatte existieren.

BEISPIELE #

# Alle geänderten .md-Dateien seit dem letzten Pull
Get-GitChangedFiles -Path 'C:\repo' -Extension '*.md'
# Geänderte .yml-Dateien seit einem bestimmten Commit, nur im config-Verzeichnis
Get-GitChangedFiles -Path 'C:\repo' -SinceCommit 'abc1234' -Extension '*.yml' -SubPath 'config/'
# Alle geänderten Dateien seit dem letzten Pull
Get-GitChangedFiles -Path 'C:\repo'