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 subtree
para 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