Cuando vas avanzando en tu rama de trabajo, pero necesitas uno de esos commits en el head de otra

/*Estas trabajando tranquilamente y llevas varios commits en la rama readme*/
'git checkout readme'
//estos son tus commits
'git commit -am "creditos a DBZ"'
'git commit -am "creditos a DBGT"'
'git commit -am "creditos a DB super"'

//tu jefe lo ve y dice que solo quiere el de DBZ, el primero

//primero identifica el hash
'git log --oneline'

//ahora si tomamos el commit ese que queremos desde la rama en la que lo quieres
'git checkout master'
'git cherry-pick o2342kj'//esta es la unica linea importante aqui

//esto me hara ver en el log como si ese commit ubiera ocurrido en master 

//una vex termino de hacer mis cosas mando mi todos mis comits a master
'git checkout readme'
'git commit -am "creditos a DB"'
'git checkout master'
'git merge readme'
//arreglar conflictos
'git push origin master'
//vemos los logs en GH para que veas que la rama readme nunca existio
Cuando ya hiciste muchos commits pero solo quieres obtener uno de ellos

//estas en branch readme e hiciste cambios, pero deberian ir en otra rama
'git stash'
'git stash branch readme-mejorado'
'git commit -am "creditos a DBZ"'

//pero sigues agregando cambios
'git commit -am "creditos a DBGT"'
'git commit -am "creditos a DB super"'

// te dicen que solo quieren el primer commit los otros dos no
//verificas cual es el hash del commit querido
'git log --oneline'

//cambias a la rama a la que quieres ese commit
'git checkout master'

//tomas el commit querido
'git cherry-pick ds34352'

//veras tu el commit querido como el ultimo
'git log --oneline'

Es mejor de alguna manera hacer un merge hacia master para mantener la historia de master

Traer un archivo de otra branch

# digamos que editamos dos archivos
# readme.md
# copyright.md

git add .

# pero no estamos seguros si el copyright si debe tener estos cambios
# asi que lo quitamos de staged
git reset HEAD copyright.md

# ahora queremos que regrese a como estaba al principio
# git reset --hard HEAD menu.txt # no funcionara

# traemos el archivo de tal rama o comit
git checkout HEAD copyright.md

# guardamos 
git commit -m "only readme added"