= Contributing to WebKit using GitHub = TODO: Add an overview for what you might want to do this. == Document status: Proposal == == Setup == 1. Create a GitHub account (if you don't already have one) 1. Fork https://github.com/WebKit/webkit 1. $ git clone git@github.com:yourname/webkit.git == Writing code == 1. $ git checkout master -b awesomefeature 1. Write some awesome code. 1. Commit locally and push to origin (your GitHub account) as you normally would with git. == Tracking upstream == 1. One-time setup: $ git remote add upstream git://github.com/WebKit/webkit.git 1. $ git fetch upstream 1. $ git merge upstream/master 1. $ git push origin master If you never modify your local master branch, merging upstream/master will always be a fast-forward merge (i.e., no merge conflicts). You can then merge these new commits into your in-flight feature branches as you normally would with git. == Getting your code reviewed == 1. Find a reviewer who is interested in reviewing your awesome feature. 1. Create a pull request by going to https://github.com/yourname/webkit/pull/new/awesomefeature 1. Click the "Change Commits" button to select that reviewer's base branch of WebKit. TODO: Investigate whether we can make reviewers members of the "WebKit" organization so you can just use WebKit/webkit@master as the base branch. 1. Write a helpful description of your pull request and click "Send pull request". 1. Iterate with the reviewer as usual using GitHub's review tools. == Accepting a pull request ==