...
Create a branch to work on:
Code Block git fetch git checkout -b xyz remotes/origin/trunk
- Implement the feature.
Rebase:
Code Block git rebase remotes/origin/trunk
- Post the change to JIRA and get it reviewed.
- Push the change back to Apache. Pick one of the following:
You should almost always collapse your work into a single check-in in order to avoid cluttering the upstream change-log:
Code Block # assuming trunk is up-to-date with origin git checkout trunk git merge --squash xyz git commit -am "KAFKA-XXX xyz feature; reviewed by <reviewers>" --author="firstname lastname <contributoremail>" git push origin trunk
If you are absolutely sure you want to preserve your local intermediate check-in history then push directly from your feature branch instead of the above merge (or use merge without the squash option):
Code Block # from feature branch xyz git push origin trunk
[Note] For reviewer and simple committer workflow, remember to resolve the corresponding JIRA ticket and mark the fix versions label after the corresponding patch is committed.
Github Workflow
Apache doesn't seem to provide a place to stash your work-in-progress branches or provide some of the nice social features github has. This can be a problem for larger features. Here are instructions for using github as a place to stash your work in progress changes.
...