When I first switched from a centralized version control to decentralized (or distributed) version control I ran in to this error:
non-fast-forward updates were rejected Merge the remote changes before pushing again
Well,
you just have to –force or use a bare repository they told me.
First of all, don't –force. If you just started using git you almost certainly should never need to use the –force command. If you come across something that requires it there is a good chance that you simply don't quite understand git yet.