If you’re using move_and_slide(), it will record its collisions which you can access with get_slide_collision().
The typical way to implement pushing is to check the collisions from move_and_slide() and update the velocity of the other objects (assuming they are pushable according to your game rules).
If you want more control, you can use move_and_collide() instead, but this can lead to more complex logic.