Below is the process that Systers uses to plan, create, test, and deploy our various projects within GitHub. These are the steps that should be taken whenever contributing to any of our repositories.
Project Requirements Document Create Issues Approved by Mentor or Maintainer
Create Mock-Ups for the Issue Reviewed by Mentor or Maintainer Adjust Mock-Up Based on Feedback Approved by Mentor or Maintainer
Fix the Issue Open a Pull Request Reviewed by Mentor or Maintainer Adjust Based on Feedback Approved by Mentor or Maintainer
Create Issues that Test the Applications in Production (i.e. User Tests, Feature Tests, etc.) Reviewed by Committer Submit PRs that Contain Documentation on Tests to Suggest Improvements for Next Release Approved by Committer
Create Issues that Fix Errors, Improve Implementation, or Upgrade the Current Language Approved by Mentor, Maintainer, or Committer
Even when starting with a rebased branch, it’s possible to encounter merge conflicts.
Systers’ workflow is based around squashing PR’s into a single commit before merging. This can be done on the GitHub interface or, if you prefer, in the command line using Git.
When you select the Squash and merge option on a pull request on GitHub, the pull request's commits are squashed into a single commit. Instead of seeing all of a contributor's individual commits from a topic branch, the commits are combined into one commit and merged into the default branch.