Pour obtenir à partir de votre premier diagramme (maître TÊTE = = F) pour l'option 1:
git branch new # Make a 'new' branch pointing at HEAD, which is F
git reset --hard C # Move master back to point at C
git checkout new # Make HEAD follow new, and get F in the working tree
Et à partir de l'option 1 option 2 (reprenant là où le ci-dessus à gauche à l'arrêt),
git rebase -i master # Start the process of re-jiggering this branch
# edit the commit list that opens up to only include F
# save and exit
# resolve potential conflicts from missing changes in D and E
Pour aller directement à partir de votre point de départ pour l'option 2:
git checkout -b new C # Start the 'new' branch at C
git cherry-pick F # Include F on it
git checkout master # Switch back to master
git reset --hard C # Rewind master to the earlier commit