Трехшаговое решение с включенной опцией резервного копирования:
# create a backup for the branch
git checkout -b backup-xxx xxx
# force position of branch xxx at A
git branch -f xxx A
# get the commits you wanted from the backup branch
git checkout xxx
git cherry-pick X Y Z
Вы получите backup-xxx
в состоянии xxx, которое было до операций, на случай, если вы пожалеете о своем переезде позже.
План резервного копирования:
# to restore branch xxx in its previous state
git branch -f xxx backup-xxx