You have started your work, created a local branch based on the last commit of origin/master. During the time you made your changes and now some other changes were integrated into origin/master and you want to update. This can be done by combining two operations. The first is Git fetch to fetch all changes from the origin into your local Git repository. This operation will update the origin/master branch to the state of the remote Git repository. The second operation is Git rebase. This will move any local commits to the new origin/master. The operation is called Git rebase because your local changes will be moved from the old state of origin/master to the current state of it. During the Git rebase local commits can vanish as they are already included, or you can end with a conflict. In that case you will be presented with multiple options, to abort the rebase, to skip (remove) the commit that caused the conflict or to attempt to merge it using the mergetool. Once you have resolved the conflicts use → → to continue with the next local Git commit..
Procedure 5.10. Fetch and Rebase (textual)
Enter the Contextmenu, select → .
An overview with changes appear
Enter the Contextmenu, select → .
Select the branch you want to rebase against.
On conflict a dialog will ask you to make a decision on how to resolve it. Once it is resolved select → → in the contextmenu to continue with the next commit.
Your branch is now based on the new origin/master
Procedure 5.11. Fetch and Rebase (graphical)
Fetch from Upstream

Result

Begin Rebase

Select Branch

Conflict

Abort

When the rebase goes wrong you have two options. You can either select → → or if you notice after the rebase the Git Reflog contains your changes before the Git rebase and you can checkout this version again.
On OSX and Linux you can use git mergetool on the command line to use opendiff/kdiff3/meld to the merging.