I'm working on a project that uses GIT as version control system. In the project's development process, it says that
Do not use "git pull" since that will cause a merge and create a very messy history over time. Use git fetch and git rebase instead.
Basically I know git pull actually does git fetch + git merge. And git rebase will keep the commit graph clean, because after git rebase, the local branch becomes to be at same line as the remote branch.
But I still don't understand why git pull create a very messy history? Could anybody explain that to me?