Im not familiar with Smartgit, however in bash git:
git fetch <upstream> <branch> git pull --rebase <upstream> <brannch>
will basically put all your work OVER everything that the upstream branch is. It first rollback (which it announces) and then applies your commits over it.