Page tree
Skip to end of metadata
Go to start of metadata

To propose code changes, you should be familiar with the Git / Github workflow, including:

For example, to create a pull request:

  1. Fork the github.com/apache/beam repo
  2. Clone your fork, for example:

    $ git clone git@github.com:${GITHUB_USERNAME}/beam
    $ cd beam
    
  3. Add an upstream remote for apache/beam to allow syncing changes into your fork

    $ git remote add upstream https://github.com/apache/beam
    
  4. Create a local branch for your changes

    $ git checkout -b someBranch
    
  5. Make your code change
  6. Add unit tests for your change
  7. Ensure tests pass locally
  8. Commit your change with the name of the jira issue

    $ git add <new files>
    $ git commit -am "[BEAM-xxxx] Description of change"
    
  9. Push your change to your forked repo

    $ git push --set-upstream origin YOUR_BRANCH_NAME
    
  10. Browse to the URL of your forked repository and propose a pull request.

  11. 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.

If you have more simple and useful configs to add, feel free to comment on gist.

  • No labels