I am a bit lazy sometimes and for git add + git commit + git push & to know what files have been changed I made a little snippet in my .zshrc file :
# git add + commit + push
function lazygit() {
git add -A
git commit -am "$1"
git push
git show --name-status | cat
}
You still have to pull before to be sure you won't have problems with merge conflicts, if you don't care, you could add a line before push with git pull .
That's not very pretty but it works ;)