Push-pull o push and pull (del inglés, «empujar y tirar») es un modo de operar trenes tirados por locomotoras que permite ser conducido de cualquiera de sus extremos.
Un tren push-pull o reversible tiene una locomotora en un extremo del tren, conectada mediante mando múltiple a un vehículo equipado con cabina de control o coche-piloto en el otro extremo.
Alternativamente, el tren puede tener una locomotora en cada extremo.