The 3 default ways to re-program your tiny on that board are:
- micronucleus bootloader (sketches only)
- ISP prog. (sketches & set-fuses, InSystemProgramming)
- HV prog. (re-set fuses, HighVoltage = 12V don't worry)
The bootloader in itself is like a sketch on the chip (at the beginning, taking up flash space) and talks through the software USB port on that board. It then rewrites parts of its own flash from the data the host sends, when you upload new sketches.
If that part gets damaged it won't get recognized by the host anymore and you can't use the board to reprogram itself. Unless the chip/parts died to ESD or other reasons, you still can use ISP/HV programming on the chip, which is the solution to your problem.
Read up on fuses, they are the init settings of your chip (like a BIOS) defining its behaviour. There are some fuses which can only be set once, after which they can only be changed by the HV method. Depending their setting on your chip, this could also be done with normal ISP programming.
This instructables shows how to build a HV programmer, but also demonstrates using an Arduino as normal ISP programmer (Step 4).
The original Digispark comes with the RSTDISBL fuse set, meaning you can't directly use ISP (which requires the reset pin). Thats why HV programming is neccessary, to regain the reset pin, after that you can reflash the bootloader via ISP. From then on you can use the bootloader again, to reprogram (upload) your sketches.