-
Notifications
You must be signed in to change notification settings - Fork 32
Dev contribution using GitHub
Austin Soplata edited this page Apr 16, 2018
·
7 revisions
- 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
debugordevas 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 todebug. -
devis the working branch for ALL other changes! New features should be merged from separate issue branches in your fork intodevbranch. In other words, 99% of your work should be going onto thedevbranch. - 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
debugormaster.
-
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
upstream/dev. - If the feature is small and does NOT change the behavior of pre-existing code, go ahead and merge the PR or merge to
devdirectly. - 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 ondevordebug, like comment changes or single-line changes. NEVER changemaster. -
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 todebug.