-
Notifications
You must be signed in to change notification settings - Fork 63
2. Developer Guide
This page describes what you need to know for developing this package.
We vaguely follow the git-flow workflow. The link provided explains it very well, but to summarize: the develop
branch is the main branch that all new features get added to. The main
branch holds the code we want most users to be using. When we wish to release a new version, we simply merge the state of develop
into main
, propagating all of the changes at once. We will describe this process in more detail below.
When developing new features, we ask that you create a branch off of develop
and do your work there. When the feature is ready to merge in, we prefer git rebase
to git merge
. This creates a cleaner, linear history. You can read about why we do it and what a rebase is at this link.
The following steps show how to develop a new feature.
git checkout develop
git checkout -b feature
- develop your feature
- commit changes, repeat process until satisfied
git rebase -i develop
- squash, edit, commits
- submit PR on github.
Note: the following are for repository admins only, if you've submitted a PR, one of us will review and either ask for changes or merge the code in.
- when ready, rebase and merge feature into develop
git checkout develop
git pull -or- git reset --hard origin/develop
And the following steps show how to perform a release.
git checkout main
git merge develop
git tag x.x.x
git push origin x.x.x
If you have any questions at all and want to do something, but are not sure if it's correct, create an issue or reach out to @tylerflex or @momchilflex.
Visit the Tidy3D documentation for more details.