-
Notifications
You must be signed in to change notification settings - Fork 309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add initial documentation on contributing #105
Conversation
All automated tests passed. |
Add initial documentation on contributing
Thanks Matt! |
Awesome! While you're in the mood for documentation, and since we have an upcoming release, I went ahead and filed #106 too. These two documents will be very valuable for us as the contributor base grows. |
* Use your feature branch in the pull request. Any changes that you push to your feature branch will automatically | ||
be shown in the pull request. | ||
* Don't rebase your pull request feature branch while it's being reviewed; you'll destroy history and break the | ||
associate between code and comments. Once the review process is finished, the branch may be rebased to allow for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this destroy the comments etc.? Aren't they still valuable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It doesn't destroy them, right? Just leaves them in a semi-hidden state?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does create a new commit which is not the same as the previous commits; this includes the commit messages. I think in general, the first commit has the message you want to convey and the others are just fixes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be a bit pedantic, squashing commits via rebase doesn't create a new commit; rather, it rewrites the first commit as the sum total of all the commits that are being squashed.
The goal of this point is to maintain a 1:1 relationship between features and commits. This makes it significantly easier to maintain the repository over time, especially if a feature is later found to break another part of the API and needs to be reverted. This doesn't necessarily imply that all PRs should only contain a single commit; #15 is a good example of a PR that is properly broken down into multiple commits where each commit corresponds to a single feature change. However, the majority of the PRs we have against this repo add a single large feature.
Github will highlight a link to this text in our repo https://github.com/blog/1184-contributing-guidelines