How to keep original and new repositories in sync during a migration? (including the commit history)
Simply keep pushing stuff between the repositories. Git pushes are designed for exactly that. 

So, if origin is the old repository, and newis the new one, and you want to move new stuff in the master branch from origin to new, then, locally:

git checkout master &amp;&amp; git reset --hard    # to clean up any local changes, optional
git pull origin 
git push new


That's it. master is a branch like any other, so if you have multiple branches, rinse and repeat.