git cherry pick preserve commit hash