Commits where lost due to some exclusion during an interactive rebase.
I believe ^M is causing the history during rebase to be truncated for some reason, it doesn't prevent rebase, but it doesn't retain the commits which where not shown.
Possibly from the underlying git library and not sourcetree ui.
I've only noted this on a single repo and have not reproduced getting ^M chars into messages since.
In sourcetree the history was showing recent commits and their messages seemed clean
When I tried to interactive rebase I found that not all of the commits where presented, causing some concern, so before proceeding I made a new branch label.
I tired several different points and had different results as to how much of the history was displayed after the selected commit.
I tried a rebase while not all of the history was visible, and it rebased the last visible commit, truncating all other commits following!!
I also happened to investigate the history from the terminal, in the log messages I noted ^M chars being displayed for those commits where the history got truncated