Assume we have a forked repo at https://github.com/contributor/incubator-quickstep.
Assume we have cloned the forked repo, and will work on a feature called QUICKSTEP-101.
git submodule update --initgit checkout -b quickstep-101git add some-changed-or-new-filesCheck if your code confirms to the code guidelines by running the following command from the root of the quickstep source directory: python third_party/cpplint/lint_everything.py
python validate_cmakelists.pypython cyclic_dependency.pyparser/genfiles.sh and check the generated files into the directory parser/preprocessed.git commit -m "QUICKSTEP-101: Added My Awesome Feature."git push origin quickstep-101
Sometimes, there may be code review comments after a PR has been opened. Address these comments and then do the following:
git add more-changed-or-new-filesgit commit -m "Addressed Review Comments."Finally, once the PR is ready to be merged (i.e. it has passed all the tests and the python validation scripts as described above), we need to squash all the commits into one commit. We cherry pick the first commit, and squash all the rest as follows:
git remote add asf-mirror git@github.com:apache/incubator-quickstep.gitgit remove -vgit fetch asf-mirror mastergit rebase -i asf-mirror/masterpick QUICKSTEP-101: Added My Awesome Feature.pick Addressed Review Comments.f Addressed Review Comments.git log.
git push origin quickstep-101 -fUse the GitHub ASF mirror repo: https://github.com/apache/incubator-quickstep, and set the title to, in this case, QUICKSTEP-101: Added My Awesome Feature.
Committers will merge the PR under Code Review Guidelines.