I have a complicated Ionic project I'm developing. Many of the components and providers I'm developing are generic and can be used in other projects my company is doing. This is common in software development. This is the Git workflow I have come up with (this graph shows branches):
|_ component 1 feature branch
|_ company component 1 feature branch testbed
|_ component 2 feature branch
git subtree add -P <destination-dir/feature> --squash <my-company-library-repo-url> <feature-branch-name>
I researched Scott Weldon's solution. It would work, but it seems git subtree splits the said directory into its own repo. At least that's what I gleaned from reading man pages and books and what not. (If I'm wrong, which may well be the case, please let me know.) That's not what I wanted to do.
I did, however, find the solution to my problem. Here's what I did using the Git Subtree Merge Strategy (instead of the GIT SUBTREE command) in my project:
$ git remote add my-library <my-library-url> $ git fetch my-library $ git checkout -b my-library-branch my-library/master $ git checkout master $ git read-tree --prefix=<desired/library/dir> -u my-library-branch $ git commit -m "Merged library project as subdirectory" $ git push
This worked great. I have my library in a reasonable subfolder. Admittedly, I have to take the whole library, not just a chunk like a custom component or provider, but that's OK in this case.