Git Merge Conflicts Explained