How to subtree split in Git
Git subtree split extracts a subdirectory into a new branch containing only the commits that touched that path.
As the creator of CoreUI with over 25 years of version control experience since 2000, I’ve used subtree split to extract reusable libraries from monorepos without losing history.
The standard approach runs git subtree split --prefix to create a new branch, then optionally pushes it to a separate repository.
This preserves the complete commit history of the extracted code.
How to subtree merge in Git
Git subtree allows incorporating external repositories into your project as subdirectories without the complexity of submodules. As the creator of CoreUI with over 25 years of version control experience since 2000, I’ve used subtree merging to integrate third-party libraries while maintaining full control over the code. The standard approach adds a remote for the external repository, then uses git subtree to merge it into a specific directory. This provides cleaner workflows than submodules for vendoring dependencies.