git cherry pick vs merge