Table of Contents |
---|
Getting Started
To propose code changes, you should be familiar with the Git / Github workflow, including:
- forking the github.com/apache/beam repo
- cloning your fork
- syncing your master branch with the upstream apache/beam repository
- branching
- squashing commits
- proposing changes in a pull request
.gitconfig
Here's a convenient .git/config file that shows how to:
- Set up branches
- Limit fetched branches to master only
- Fetch PRs from upstream
- Configure alias to show a pretty formatted git log.
If you have more simple and useful configs to add, feel free to comment on gist.
How to create a pull request
To create a new pull request, follow the next stepsFor example, to create a pull request:
- Fork the github.com/apache/beam repo
Clone your fork, for example:
Code Block language actionscript3 $ git clone git@github.com:${GITHUB_USERNAME}/beam $ cd beam
Add an upstream remote for apache/beam to allow syncing changes into your fork:
Code Block language applescript $ git remote add upstream https://github.com/apache/beam
Create a local branch for your changes:
Code Block language actionscript3 $ git checkout -b someBranch
- Make your code change.
- Add unit tests for your change.
- Ensure tests pass locally.
Commit your change with the name of the jira issueJira issue:
commitCode Block language actionscript3 $ git add <new files> $ git
com mit -am "[BEAM-xxxx] Description of change"
Push your change to your forked reporepo
Code Block language actionscript3 $ git push --set-upstream origin YOUR_BRANCH_NAME
Browse to the URL of your forked repository and propose a pull request.
- Find a committer to review, and mention the them by adding
R: @username
to the review comments
.gitconfig
Here's convenient .git/config file that shows how to:
- Set up branches
- Limit fetched branches to master only
- Fetch PRs from upstream
- Configure alias to show pretty formatted git log.
...