Dividir un repository de Git basado en routes de files arbitrarias

Tengo un repository git que me gustaría convertir en dos repositorys git, sin embargo, la split no es tan simple como parece git filter-branch --subdirectory-filter desea.

 myRepo/ a-main.js b-main.js a-other.js tests/ a-tests.js b-tests.js 

Lo que me gustaría hacer es get otro repository que solo tenga los files a-* . Tenga en count que acabo de nombrarlos de esta manera para mayor claridad, los files reales no tienen un patrón común. Solo hay unos pocos, por lo que no es problema enumerarlos individualmente.

Lo que he intentado:

 git clone --no-hardlinks ~/myRepo ~/myRepoA cd ~/myRepoA git filter-branch --tree-filter "rm b-main.js tests/b-tests.js" \ --prune-empty HEAD 

Pero esto da esta salida

 Rewrite 4ce7... (1/46)rm: cannot remove `b-main.js': No such file or directory rm: cannot remove `tests/b-tests.js': No such file or directory tree filter failed: rm b-main.js tests/b-tests.js 

Para puntos de bonificación:

Una vez hecho esto, ¿cómo lo paso a un nuevo repository en Github?

Resulta que me faltaba la bandera -f :

 $ git filter-branch --tree-filter "rm -f b-main.js tests/b-tests.js" \ --prune-empty HEAD 

Y para mis propios puntos de bonificación:

 $ git remote rm origin $ git remote add origin git@github.com:username/reponame.git