I divided the top face of a cube, and then moved the dividing edge up. Then I selected the top faces and extruded it. That is how I got the object you see below. Now, I want the (top faces) roof to be longer. That is, I want pull the selected face in the exactly same angle as the rest of the top part. Is that possible?
Select the top face and create a custom transform orientation. Then extrude that thin face. By default it’ll start moving along the normal, which is not what you want. So either switch the transform axis by hitting the appropriate key (x, y or z) a couple of times, or just cancel the motion (escape or right-click) and simply move the newly extruded face using the axis from that custom orientation.
Later on don’t forget to switch back to Global or Local orientation (and perhaps delete the custom one once you no longer need it).
With the face selected - as you have in your screen shot - press the ‘G’ ket TWICE then the ‘C’ key, this will allow the face to slide along the ‘axis’ defined by your roof slope.