Extração de pacotes Symfony2 usando ‘git subtree split’

Estou trabalhando em um aplicativo Symfony2 e decidimos extrair alguns pacotes para que possam ser usados ​​em outros projetos. Eu queria manter o histórico de commits (estamos usando Git) e descobri que a nova funcionalidade de subárvore é apenas o tíquete:

Primeiro, adicione um Git remoto ao repositório Git do projeto Symfony2. Este é o repositório que conterá o pacote separado:

git remote add my-bundle-repo git@github.com:yourname/my-bundle-repo.git

Em seguida, use git subtreepara criar um novo branch (chamado split-bundle ) que contém apenas o código sob o prefixo fornecido e o histórico relacionado a esses arquivos:

git subtree split --prefix=src/path/to/my/Symfony2Bundle -b split-bundle

Uma vez feito isso, envie o novo branch para o seu bundle remote e pronto!

git push my-bundle-repo split-bundle:master