Assume the following commit structure:
master:      A-B-C-D-E----------------
                  \                   \
branch a:          F-G-H     branch d: N-O
                      \
branch b:              I-J
                          \
branch c:                  K-L-M
I want to delete all branches descending from branch a (in this case, b and c). Is there a way to detect that branch b and c descended from branch a?
Right now I'm thinking of accomplishing this by discovering which branches the common ancestor (G) exists on; which will return a, b, and c; and then comparing the time the branches were provisioned. Afterwards, delete all but the earliest branch.
I'm wondering if there is a cleaner way to do this, and if not, how can I retrieve the timestamp for branch creation?
Desired result:
master:      A-B-C-D-E----------------
                  \                   \
branch a:          F-H'      branch d: N-O
 
     
     
    