Kann ich eine Liste der mit –assume-unverändert markierten Dateien erhalten?

Was habe ich als --assume-unchanged markiert? Gibt es eine Möglichkeit herauszufinden, was ich mit dieser Option versteckt habe?

Ich habe das .git/ und sehe nichts, was wie erwartet aussieht, aber es muss irgendwo sein. Ich habe vergessen, was ich vor ein paar Wochen so markiert habe und jetzt muss ich diese Details für zukünftige Entwickler dokumentieren.

Sie können git ls-files -v . Wenn das gedruckte Zeichen in Kleinbuchstaben geschrieben ist, wird die Datei als unverändert angenommen markiert.

Um nur die Dateien zu drucken, die unverändert sind, verwenden Sie:

 git ls-files -v | grep '^[[:lower:]]' 

Um deinen faulen Programmierer zu umarmen, verwandle das in einen Git Alias . Bearbeiten Sie Ihre .gitconfig Datei, um dieses Snippet hinzuzufügen:

 [alias] ignored = !git ls-files -v | grep "^[[:lower:]]" 

git ignored Sie jetzt git ignored eingeben, erhalten Sie eine Ausgabe wie folgt:

 h path/to/ignored.file h another/ignored.file 

Einzeiler

 git ls-files -v | grep "^[az]" 

Verwenden Sie Aliase

IMHO, git hidden ist besser für Dateien, die als --assume-unchanged markiert sind:

 git config --global alias.hidden '!git ls-files -v | grep "^[az]"' 

Hier ist eine Liste der verwandten Aliase, die ich in ~/.gitconfig :

 [alias] hide = update-index --assume-unchanged unhide = update-index --no-assume-unchanged unhide-all = update-index --really-refresh hidden = !git ls-files -v | grep \"^[az]\" ignored = !git status -s --ignored | grep \"^!!\" 

Damit es in Unterverzeichnissen und Support- Argumenten funktioniert:

  hidden = "!f(){ git -C \"$GIT_PREFIX\" ls-files -v \"$@\" | grep \"^[az]\";}; f" ignored = "!f(){ git -C \"$GIT_PREFIX\" status -s --ignored \"$@\" | grep \"^!!\";}; f" 

Beispielsweise:

  # cd target # git ignored classes 

Über den Dateistatus

Für mich sind die meisten versteckten Dateien mit dem Flag h markiert, obwohl es im Handbuch von git-ls-files -v tatsächlich mehrere andere Flags gibt:

 -v Similar to -t, but use lowercase letters for files that are marked as assume unchanged (see git-update-index(1)). 

Über git ls-files -t :

 This option (-t) identifies the file status with the following tags (followed by a space) at the start of each line: H cached S skip-worktree M unmerged R removed/deleted C modified/changed K to be killed ? other 

Dieser Befehl funktioniert für mich konsequenter. Es werden nur die Dateien gedruckt, die als “angenommen-unverändert” aufgeführt sind.

 git ls-files -v|grep "^h" 

Ich habe das oft in verschiedenen Umgebungen verwendet und es funktioniert perfekt.

PowerShell-Lösung, ohne Grep

 git ls-files -v | sls -pattern ^h -casesensitive