I've found this article very interesting. It tells us to use rebase instead of merge when fetching changes from our remotes.
To learn how to do it, please refer to the article above.
Here's my 2 cents about it and why you should do it:
- Prevents a lot of git "useless" messages of merges.
- Keeps the project timeline a lot cleaner
- Makes easier to find the commits that really matter for the project.
This will prevent those merge messages when pulling from the remote, but will keep the message in case of a real merge :) So It's been really usefull to find exaclty where our branches merged in our projects and then revert if anything goes wrong.