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