I’m in the process to getting my first binding into the main repo. The things that puzzle me are the following bits in the guidelines:
- Pull requests must not contain commits from other users or branches.
- Before the pull request is merged, make sure that you squash your commits into logical units of work using git rebase -i and git push -f. After every commit the test suite should be passing. Include documentation changes in the same commit so that a revert would remove all traces of the feature or fix.
However, I under in the assumption that I need to sync with the main repo before I can create a PR. How do I do that and still comply with the guidelines? I tried squashing my commits, but from the git documentation I understand that it is not possible. I also don’t know how to remove commits from other people without losing the actual info in there.
How do you guys do it? Is there some workflow that lets me make merges and small commits and still enables me to do the above?