- From my micropython fork on github, create new branch
samd_func$ git clone https:\\micropython\ricksorensen rjsfork - From my clone (rjsfork)
$ cd rjsfork;git checkout samd_func - Modify file(s) ..eg
mcu/samd21/mpconfigmcu.h - Test
- commit and sign changes
$ cd rjsfork; git commit -s ports/samd/mcu/samd21/mpconfigmcu.hthis brings up editor to add commit message:- Line1. Title <72 char, filename: Title (don't forget space after :)
- Line2. Blank
- Line3 and following. Description, multiple lines, markdown, <= 74 char/line save and exit editor
- Check:
$ git log --show-signature -lwill show commit message $ git push- From github, my fork - create pull request
!!! Once pull request is started do not resync that branch !!!
My pydev environment has micropython versions of pre-commit1 and uncrustify installed. Note that pre-commit tends to change in place.
Can use >pre-commit run --file xxx to check
- If changes to commit are needed: (Thanks RHH, yet again)
$ git commit --amendthis brings up editor to modify commit message save and exit editor$ git push -fprobably more sophisticated steps here! The pull request will be automatically updated
https://github.com/orgs/community/discussions/167314
Hi,
I think you can use git filter-repo for your case.
I guess your current structure is similar to this:
/repository
/project_A
/project_B
/project_C
1. Download from the official repo or install with pip install git-filter-repo
2. Add it in your PATH (Accessible in System>About>Advanced system settings>Environment Variables>System variables).
3. Within your monorepo run below for project_A:
>git clone --no-local --no-hardlinks <path-to-monorepo> project_A-repo
4. Go to the folder
> >cd project_A-repo
5. Run this,
> git filter-repo --subdirectory-filter project_A
6. Repeat the same for all your projects.
7. Go to your GitHub and create new repository for your project.
8. Add it as remote (in this case default is 'main')
>git remote add origin <new-repository-url>
>git push -u origin main oops I did:
> git pull --rebase <repo url> main to get new files
> git push -u origin main
Link: Git Filter https://github.com/newren/git-filter-repo
$ git status -uno
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: config.esp32s3.py
modified: config.py
modified: holiday.py
modified: simpfirefly.py- shows branch/version
- does not show commit version,
- shows differences with version
git log
$ git log
commit e6357ac6cf7af70acfdaa8b9b137ea1bfeb6c6de (HEAD -> main, origin/main)
Author: Rick Sorensen <rick.sorensen@gmail.com>
Date: Mon Dec 1 11:40:25 2025 -0600
README: Add schematic image
commit 03676b99b2ddfad31acf0484bf8cddf42ae4fd11 (tag: neopixel_ldr_v0.87, tag: Display_v1.00)
Author: Rick Sorensen <rick.sorensen@gmail.com>
Date: Mon Dec 1 10:01:56 2025 -0600
holiday: 2025 Hanukkah
commit c4de475c72a02ce543fe64e7193f59a8e7a7a924
Author: Rick Sorensen <rick.sorensen@gmail.com>
Date: Sun Nov 2 10:19:58 2025 -0600
mqttquick: catch no network exceptionsgit log git tag git show
$ git show
commit e6357ac6cf7af70acfdaa8b9b137ea1bfeb6c6de (HEAD -> main, origin/main)
Author: Rick Sorensen <rick.sorensen@gmail.com>
Date: Mon Dec 1 11:40:25 2025 -0600
README: Add schematic image