You can use interactive rebase to reorder the commits into the desired order.
Interactive rebase lets you reorder your changes in a text file, and I suggest you write a bash script to prepare a list of you commits in the chronological order you require, eg:
pick b111111 B1
pick a111111 A1
pick a222222 B2
pick a222222 A2
pick b333333 B3
pick a333333 A3
...and then use that in the interactive rebase.