Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Dev contribution using GitHub
- We use the standard Fork-and-Pull Git/GitHub model for development. Put simply, you, a developer,
- make a personal fork of the DynaSim repo,
- make a new branch specific to a single feature or bug and code up your commits, then
- submit a Pull Request to either
devas listed below.
- Some resources to learn Git include:
- Some resources to learn the Fork-and-Pull model of Git and GitHub include:
masteris the "production-ready" branch for the public. Do not commit to it; let the maintainers control it.
debugis the working branch for debugging monthly feature updates. Commit hotfixes and bug fixes to
devis the working branch for ALL other changes! New features should be merged from separate issue branches in your fork into
devbranch. In other words, 99% of your work should be going onto the
- Branches should be merged monthly according to this algorithm.
- Do NOT push your own personal branches for "production"-stable branches. If you need stability, use either
Further Explanation of Committing Guidelines
Your code contributions should be done this way:
- Make an issue for the feature you want to add.
- Make a feature-specific feature branch on your personal fork.
- Code up your changes in commits on that fork.
- Only when that feature is complete and tested do you make a Pull Request onto
- If the feature is small and does NOT change the behavior of pre-existing code, go ahead and merge the PR or merge to
- If the feature is even moderately-sized, ask someone for at least a preliminary code review before merging the Pull Request; in this case, at minimum make a PR.
The only exceptions to this should be very minor bugfixes/"hotfixes" on
debugor extremely trivial changes on
debug, like comment changes or single-line changes. NEVER change
If fixing a bug takes more than a couple of lines, then make an issue out of it and treat it like you would a full feature, the only difference being you should base your bugfix on
debugand commit the changes back to