49 lines
1.3 KiB
Markdown
49 lines
1.3 KiB
Markdown
# Plan: Convert Submodule to Git Subtree for graphics-components-src
|
|
|
|
## 1. Remove the submodule (if present)
|
|
- Remove the submodule and its config:
|
|
```sh
|
|
git submodule deinit -f graphics-components-src
|
|
git rm -f graphics-components-src
|
|
rm -rf .gitmodules
|
|
```
|
|
|
|
## 2. Add the upstream repo as a remote (if not already)
|
|
- Add the original repo as a remote:
|
|
```sh
|
|
git remote add upstreamRepo https://github.com/reuters-graphics/graphics-components.git
|
|
git fetch upstreamRepo
|
|
```
|
|
|
|
## 3. Add the code as a subtree
|
|
- Import the code into your repo:
|
|
```sh
|
|
git subtree add --prefix=graphics-components-src upstreamRepo main --squash
|
|
```
|
|
- Replace `main` with the correct branch name if needed.
|
|
|
|
## 4. Make your own changes
|
|
- Edit files in `graphics-components-src` as needed.
|
|
- Commit your changes as normal.
|
|
|
|
## 5. Pull in upstream changes later
|
|
- When you want to update from upstream:
|
|
```sh
|
|
git fetch upstreamRepo
|
|
git subtree pull --prefix=graphics-components-src upstreamRepo main --squash
|
|
```
|
|
- Resolve any conflicts and commit.
|
|
|
|
## 6. Push your repo as normal
|
|
- All code (including the subtree) is in your repo.
|
|
- Push as usual:
|
|
```sh
|
|
git push
|
|
```
|
|
|
|
---
|
|
|
|
**Summary:**
|
|
- Use `git subtree add` to import the code.
|
|
- Use `git subtree pull` to update from upstream.
|
|
- Make and commit your own changes as usual.
|