|
1 | | -# Contributing |
2 | | - |
3 | | -Want to contribute to Polymer? Great! |
4 | | - |
5 | | -We are more than happy to accept external contributions to the project in the form of [feedback](https://groups.google.com/forum/?fromgroups=#!forum/polymer-dev), [bug reports](../../issues), and pull requests. |
6 | | - |
7 | | -## Contributor License Agreement |
8 | | - |
9 | | -Before we can accept patches, there's a quick web form you need to fill out. |
10 | | - |
11 | | -- If you're contributing as and individual (e.g. you own the intellectual property), fill out [this form](http://code.google.com/legal/individual-cla-v1.0.html). |
12 | | -- If you're contributing under a company, fill out [this form](http://code.google.com/legal/corporate-cla-v1.0.html) instead. |
13 | | - |
14 | | -This CLA asserts that contributions are owned by you and that we can license all work under our [license](LICENSE). |
15 | | - |
16 | | -Other projects require a similar agreement: jQuery, Firefox, Apache, Node, and many more. |
17 | | - |
18 | | -[More about CLAs](https://www.google.com/search?q=Contributor%20License%20Agreement) |
19 | | - |
20 | | -## Initial setup |
21 | | - |
22 | | -Here's an easy guide that should get you up and running: |
23 | | - |
24 | | -1. Fork the project on github and pull down your copy. |
25 | | - > replace the {{ username }} with your username and {{ repository }} with the repository name |
26 | | -
|
27 | | - git clone git@github.com:{{ username }}/{{ repository }}.git --recursive |
28 | | - |
29 | | - Note the `--recursive`. This is necessary for submodules to initialize properly. If you don't do a recursive clone, you'll have to init them manually: |
30 | | - |
31 | | - git submodule init |
32 | | - git submodule update |
33 | | - |
34 | | -2. Development happens on the `master` branch. Get yourself on it! |
35 | | - |
36 | | - git checkout master |
37 | | - |
38 | | -That's it for the one time setup. Now you're ready to make a change. |
39 | | - |
40 | | -## Submitting a pull request |
41 | | - |
42 | | -We iterate fast! To avoid potential merge conflicts, it's a good idea to pull from the main project before making a change and submitting a pull request. The easiest way to do this is setup a remote called `upstream` and do a pull before working on a change: |
43 | | - |
44 | | - git remote add upstream git://github.com/Polymer/{{ repository }}.git |
45 | | - |
46 | | -Then before making a change, do a pull from the upstream `master` branch: |
47 | | - |
48 | | - git pull upstream master |
49 | | - |
50 | | -To make life easier, add a "pull upstream" alias in your `.gitconfig`: |
51 | | - |
52 | | - [alias] |
53 | | - pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master" |
54 | | - |
55 | | -That will pull in changes from your forked repo, the main (upstream) repo, and merge the two. Then it's just a matter of running `git pu` before a change and pushing to your repo: |
56 | | - |
57 | | - git checkout master |
58 | | - git pu |
59 | | - # make change |
60 | | - git commit -a -m 'Awesome things.' |
61 | | - git push |
62 | | - |
63 | | -Lastly, don't forget to submit the pull request. |
| 1 | +See https://github.com/Polymer/polymer/blob/master/CONTRIBUTING.md |
0 commit comments