To avoid changing your git config, you can enable colour just for the current command by passing a config variable with -c.
For the status command, the variable is color.status:
git -c color.status=always status | less -REX
For diff, show, log and grep commands, the variable is color.ui:
git -c color.ui=always diff | less -REX
Note that -c must come before the status or diff argument, and not after.
Alternatively, for diff, show, log and grep commands, you can use --color=always after the command:
git diff --color=always | less -REX
Note: As Steven said, if you are trying to extract meaningful data, then instead of parsing colours to extract meaning, you can use --porcelain to get more parser-friendly output.
git status --porcelain | awk ...
Then if you wanted, you could reintroduce colours later.
To get the user’s configured colours, you can use git config --get-colour:
reset_color="$(tput sgr0)"
remote_branch_color="$(git config --get-color color.branch.remote white)"
echo "Pushing to ${remote_branch_color}${branch_name}${reset_color}"
Some more examples here.