Merges >>> Which procedure does a better job of preserving a project’s history? >>> Using Git for Distributed Development
git merge preserves the full history and adds to it
============================
This answer explains itself
The code might look fine, but the results are problematic
============================
This is the purpose of a rebase
============================
You can only merge one branch at a time
============================