Chciałbym otrzymać listę tylko nazw plików w fazie przejściowej. Nie mogę znaleźć odpowiednik flagę --name-only
na git status
komendzie. Jaka jest dobra alternatywa?
Lista plików zostanie przesłana potokiem do php -l
(moduł sprawdzania składni linta PHP).
Rozwiązanie: kompletne polecenie
git diff --name-only --cached | xargs -l php -l
git
git-status
Ward Bekker
źródło
źródło
Odpowiedzi:
Użyj
git diff --name-only
(z,--cached
aby pobrać pliki przemieszczane)źródło
Zaakceptowana odpowiedź nie pozwoli Ci wiedzieć, jakie zmiany zaszły .
Tak, jeśli nie jesteś kontrolerem składni, ale zwykłą osobą z repozytorium pełnym plików niestabilizowanych i nadal chcesz wiedzieć, co się stanie z plikami w fazie przejściowej - jest jeszcze jedno polecenie:
co prowadzi do czegoś takiego:
Oczywiście te pliki były przygotowywane, a po usunięciu
git commit
:deleted_file
zostaną usunięte,new_file
zostaną dodane,renamed_file
staną się rozszerzeniemrenamed_to
.Oto wyjaśnienie wyników w krótkim formacie: https://git-scm.com/docs/git-status#_short_format
źródło
Zainspirowany odpowiedzią @ coffman21 , skonfigurowałem następujący alias w pliku
.zshrc
alias gst="git status" alias gst-staged="git status --short | grep '^\w'" alias gst-unstaged="git status --short | grep '^\W'" alias gst-unstaged-tracked="git status --short | grep '^\s'" alias gst-untracked="git status --short | grep '^??'"
Może się przydać komukolwiek innemu. Więc dodając to do stosu odpowiedzi.
źródło
.
w grep, pokolorować zarówno 2 początkowych znaków, takich jak:grep '^\w.'
,grep '^\W.'
,grep '^\s.'
aby wyświetlić pliki przejściowe ze zmianami kodu
lub używając --cached, co jest synonimem --staged
lub aby wyświetlić tylko nazwy plików bez zmian w kodzie
Podręcznik git-diff
źródło