Se você quiser pegar uma subpasta de um repositório git e colocá-la em seu próprio repositório (talvez para incluí-la novamente como um sub-repositório e compartilhá-la entre diferentes repositórios), isso é realmente muito fácil!
Basta usar a git filter-branch
função desta forma:
git clone <original repo>
cd <new folder>
git checkout <desired branch>
git filter-branch --subdirectory-filter <relative path to subdir> -- --all
git remote rm origin
git remote add origin <new repo>
git push origin <branch name>
Isso preservará o histórico de todos os arquivos na pasta, enquanto exclui todas as outras pastas e seus históricos.
Muitos adereços para gbayer.com Para obter instruções detalhadas!