22 lines
576 B
Markdown
22 lines
576 B
Markdown
|
---
|
||
|
title: Extracting a custom module with a Git subtree
|
||
|
date: 2024-09-04 20:12:00
|
||
|
tags: [Git]
|
||
|
---
|
||
|
|
||
|
To extract a directory from a repository and keep the history, you can use the `git subtree split` command to create a new branch:
|
||
|
|
||
|
```shell
|
||
|
git subtree split --prefix=web/modules/custom/my_module --branch=split
|
||
|
Created branch 'split'
|
||
|
17835f24069061326e9e065f076afd67434e1b2f
|
||
|
```
|
||
|
|
||
|
This will create a new branch with just the contents of the given directory.
|
||
|
|
||
|
This can be pushed to a different repository:
|
||
|
|
||
|
```shell
|
||
|
git push git@github.com:opdavies/new-repo.git split:main
|
||
|
```
|