I find myself needing to log into various servers, set environment variables, and then work interactively.
e.g.
$ ssh anvil jla@anvil$ export V=hello
Another approach is to execute this beast (also gives me a colored shell):
ssh host -t "echo 'rm /tmp/initfile; source ~/.bashrc; cd foo/; git status' > /tmp/initfile; bash --init-file /tmp/initfile"