Let's say you created a branch from the commit foo, and then committed the change bar:
While you were working on that somebody committed baz and pushed it to the upstream master:
Here is the graph of the divergence:
You now have two choices.
If you use git pull that will automatically merge master into your branch:
If you use git pull --rebase that apply your bar commit on top of the upstream, avoiding the extra merge commit and creating a linear history:
If you're used to subversion, this is very similar to what running svn up before svn commit does.
At this point you can push your work, and no evil manage will "break" your branch. Using git pull --rebase is a safe and natural fit when using a shared git repository.
Note that rebase will recreate those commits, there are two commits called bar, one whose parent baz, and one whose parent is foo which is still available in git reflog branch:
The above images are screenshots from the lovely GitX. They are actually lies, I created branches called rebase, merge and ancestor for clarity. gitk and git log --decorate both provide similar visualizations with decreasing levels of shiny.