2. Click the `Sign Up` button and enter a username, email, and password. We suggest using your callsign as the username which will be indicated below as "myCall". You can, however, create any username you desire. Substitute your actual GitHub username for "myCall" in the examples below.
4. You can enter "aredn" into the search bar to find all repositories related to AREDN®, or if you want to contribute directly to the AREDN® firmware you can type this URL into your web browser: `https://github.com/aredn/aredn`.
The process of contributing and tracking changes to AREDN® is circular. Code is maintained in the `aredn/aredn` repository on GitHub. To contribute a potential code update, you must first FORK the `aredn/aredn` repository to your own GitHub account. You then CLONE your copy of the code from your GitHub repository to your own local computer. Make and test any changes you want to contribute using your local computer's copy of the code.
When you are satisfied with your changes, stage and COMMIT them to your local computer's repository, then PUSH those local changes to your copy of the code on your own GitHub account. Finally, create a PULL REQUEST, which tells the AREDN® development team that you would like your changes to be reviewed for inclusion in the `aredn/aredn` repository.
2. Click the `Fork` button on the upper right side of the page. You now have a copy of the AREDN® source code on your own GitHub account.
3. Go to your local computer and copy your fork of the AREDN® source code: `git clone https://github.com/[myCall]/aredn`
4.`cd aredn` This directory contains your local copy of the AREDN® source code. The following commands will be executed while you are in this directory or its subdirectories.
1. Update your local environment with the latest code changes from the rest of the community, which will include any changes you had previously submitted. *Caution:* never make code changes directly on the `main` branch. This will result in inconsistencies between the main repository and your repository, requiring a force-remove of any changes you have made.
2. Create a git code branch to fix a bug or implement a new feature:
1.`git checkout -b my-wiz-bang-feature-name`
3. Make your changes and test them.
4. When ready to submit changes, check to see whether they still work with code others have recently submitted. In GitHub terminology, “pull” down the latest changes and “rebase” or move your code on top of the latest. In this process you might find conflicts with someone else’s code, making further merge edits necessary.
1.`git stash` to stash the changes still in process.
1.`git add [any-changed-files]` (stage changes for commit)
2.`git commit` (Be sure to commit your changes with a meaningful commit message. You can refer to the standards used by OpenWRT <https://openwrt.org/submitting-patches> for creating commit descriptions that are easy for others to understand. The key is a commit description that concisely communicates to others what is in the commit.)
6. Create a `Pull Request` (PR) to the `aredn/aredn` repository by browsing to `github.com/[myCall]/aredn`, then select the my-wiz-bang-feature-name branch. Click the `New Pull Request` button to generate your Pull Request. Others can now review your code, test it, and give feedback. If feedback is given and you need to make changes, go back to step 3.
7. Once your changes have been accepted into the `aredn/aredn` repository, delete your branch: