Files
cheatsheet-tldr/git-subtree
2024-02-21 11:19:49 +00:00

30 lines
964 B
Plaintext

---
syntax: markdown
tags: [tldr, common]
source: https://github.com/tldr-pages/tldr.git
---
# 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}}`