How do I check whether the remote repository has changed and I need to pull?
Now I use this simple script:
git pull --dry-run | grep -q -v \'Already
The command
git ls-remote origin -h refs/heads/master
will list the current head on the remote -- you can compare it to a previous value or see if you have the SHA in your local repo.