git subtree
Manage project dependencies as subprojects. More information: https://manpages.debian.org/latest/git-man/git-subtree.1.html.
- Add a Git repository as a subtree:
git subtree add --prefix={{path/to/directory/}} --squash {{repository_url}} {{branch_name}}
- Update subtree repository to its latest commit:
git subtree pull --prefix={{path/to/directory/}} {{repository_url}} {{branch_name}}
- Merge recent changes up to the latest subtree commit into the subtree:
git subtree merge --prefix={{path/to/directory/}} --squash {{repository_url}} {{branch_name}}
- Push commits to a subtree repository:
git subtree push --prefix={{path/to/directory/}} {{repository_url}} {{branch_name}}
- Extract a new project history from the history of a subtree:
git subtree split --prefix={{path/to/directory/}} {{repository_url}} -b {{branch_name}}