There are many ways to do this, but the most flexible is to use the CLI and use a combination of `airflow clear` and `airflow backfill commands`. Both these subcommands have many options that allow you to precisely rerun only what you need. Options are around date ranges, task_id regexes, include upstream and/or downstream, ...
For more simple tasks you can clear and force re-run individual tasks from the UI. You may want to read the docs about how the scheduler as in many cases you can just clear task instances from the UI and the scheduler will re-run them.
Max