Git push failed, "Non-fast forward updates were rejected"

Solution 1:

Pull changes first:

git pull origin branch_name

Solution 2:

Add --force to your command line if you are sure you want to push. E.g. use git push origin --force (I recommend the command line as you will find much more support from other users with the command line. Also this may not be possible with SmartGit.) See this site for more information: http://help.github.com/remotes/