Files
cheatsheet-tldr/tldr/git-subtree
2025-09-18 00:18:12 +00:00

30 lines
1.0 KiB
Plaintext

---
syntax: markdown
tags: [tldr, common]
source: https://github.com/tldr-pages/tldr.git
---
# git subtree
> Merge subtrees together or split repository into subtrees.
> More information: <https://manned.org/git-subtree>.
- Add a Git repository as a subtree and squash the commits together:
`git subtree add {{[-P|--prefix]}} {{path/to/directory}} --squash {{repository_url}} {{branch_name}}`
- Update subtree repository to its latest commit:
`git subtree pull {{[-P|--prefix]}} {{path/to/directory}} {{repository_url}} {{branch_name}}`
- Merge recent changes up to the latest subtree commit into the subtree:
`git subtree merge {{[-P|--prefix]}} {{path/to/directory}} --squash {{repository_url}} {{branch_name}}`
- Push commits to a subtree repository:
`git subtree push {{[-P|--prefix]}} {{path/to/directory}} {{repository_url}} {{branch_name}}`
- Extract a new project history from the history of a subtree:
`git subtree split {{[-P|--prefix]}} {{path/to/directory}} {{repository_url}} {{[-b|--branch]}} {{branch_name}}`