The stem for all conjugations of the present subjunctive is always the first-person singular of the indicative. That’s why it’s que tu hagas, since the first person singular of hacer is hag-o, and that forms the subjunctive stem.
There are, unfortunately, a lot of verbs with a stem irregularity in the first-person singular of the indicative, and thus also in all the present subjunctive forms. For example, caber has que tu quepas because of this. Really very many of those.
This is also the stem used for all imperatives save one alone. As you know, the subjunctive will have a swapped inflectional vowel compared with the indicative. The one that doesn’t work this way is the affirmative tú imperatives (but not the negative ones). The affirmative tú imperative is the same “stem” as the second person indicative, but chops off the final -s. It does not change the inflectional vowel to make a subjunctive the way it does for negative tú imperatives.
The reason it works this way is because that’s similar to how Latin did it. So for example the Latin verb amare had tu amas in the indicative and tu ames in the subjunctive, but just play ama in the tu-imperative. And yes, I deliberately picked a verb where all those things still work the same way in Spanish. But the main theme persists.
This is also why you find a similar lack of subjunctive being used in equivalent affirmative tu-imperatives in neighboring Romance languages like Portuguese or Asturian, French or Italian, Catalan or Occitan.
The thing you’re probably having trouble with is knowing which affirmative tú imperatives are shortened (“apocopic, apocopated”) forms. There are only a few of these, and they are common verbs. Instead of using the unchanged third-person singular for their tú imperative, most of these just lose the final -e as well, although there are a few extra irregularities:
- decir: di (has a stem change and also loses the -c)
- hacer: haz (rewrite final -c to -z after losing the -e, but that doesn't count)
- ir: ve (very irregular: not an apocopation of va or vas)
- poner: pon
- salir: sal
- ser: sé (very irregular: not an apocopation of es or eres)
- tener: ten (notice no stem change; cf tiene)
- venir: ven (notice no stem change; cf viene)
Formally, valer should also be added to that list making val its tú imperative, but you may also hear it conjugated regularly as vale.
You also do the same sort of thing with compound verbs formed from those nine I’ve just listed above, so for example interponer would just be interpón for the tú command.
All the others are just the normal third-personal singular in the indicative, so the tú form without the final -s. Even irregular verbs like estar and dar have regular tú imperatives in está and da.
You’ll be glad to learn that are no irregular vosotros imperatives, for however much help that is to you. :)