Pull is fetch plus integration
git pull normally fetches updates and then integrates the remote-tracking branch into your current branch. Depending on configuration, that integration can use merge or rebase.
Understand what pull will do
For important branches, fetching first and inspecting the incoming commits gives you more control. A pull is convenient, but it should not be treated as a command that magically resolves all collaboration problems.
Avoid pulling with unrelated local changes
Uncommitted modifications can interfere with integration. Commit, stash or otherwise safely handle local work before pulling when Git reports that the working tree would be overwritten.