I would like to get a list of only the staged filenames. I can't find the equivalent flag for --name-only for the git status command. What is a good alternative?
The file list will be piped to php -l (PHP lint syntax checker).
Solution: the complete command
git diff --name-only --cached | xargs -l php -l
Use git diff --name-only (with --cached to get the staged files)
The accepted answer won't let you know what kind of changes were there.
Yes, If you are not syntax checker but an ordinary person with a repository full of unstaged files, and you still want to know what will happen to staged files - there is another command:
git status --short | grep '^[RAD]'
which leads to something like:
D dir/deleted_file
A dir/new_file
R dir/renamed -> dir/renamed_to
Obviously, this files were staged, and after git commit:deleted_file will be deleted,new_file will be added,renamed_file will become a renamed_to.
Here is an explanation of short-format output: https://git-scm.com/docs/git-status#_short_format
来源:https://stackoverflow.com/questions/4524998/how-to-make-git-status-show-only-staged-files