THIS REPO HAS BEEN SUPERCEEDED - CONSOLIDATED DOCUMENTATION IS AT https://github.com/apache/cloudstack-documentation
Apache CloudStack is an Apache project, see <http://cloudstack.apache.org> for more information.
These docs are on-line at <http://docs.cloudstack.apache.org/en/latest/>
Refer to the README.rst in the rtd directory for more details on how to build the documentation.
Contributing to the documentation
Initial setup of your fork
In your browser, navigate to: https://github.com/apache/cloudstack-docs
Fork this repository by clicking on the 'Fork' button on the top right hand side. The fork will happen and you will be taken to your own fork of the repository. On the right hand side of the page of your fork, under 'HTTPS clone URL', copy the URL to your clipboard by clicking the the clipboard just right of the URL.
On your computer, follow these steps to setup a local repository for working on the documentation:
$ git clone https://github.com/YOUR_ACCOUNT/cloudstack-docs.git $ cd cloudstack-docs $ git remote add upstream https://github.com/apache/cloudstack-docs.git $ git fetch upstream $ git checkout master $ git merge upstream/master
It is important that you create a new branch to make changes on and that you do not change the master branch (other than to pull in changes from upstream/master). In this case I will assume you will be creating a branch called dev to make your changes in. This dev branch will be created on your local repository and will then be pushed to your forked repository on GitHub where you will create a Pull Request for the changes to be committed into the official documentation.
It is good practice to create a new branch each time you want to contribute to the documentation and only track the changes for that pull request in this branch.
$ git checkout -b dev (make your changes) $ git add . $ git commit -a -m "commit message for your changes"
The -b specifies that you want to create a new branch called dev. You only specify -b the first time because you are creating a new branch. Once the dev branch exists, you can later switch to it with only git checkout dev.
Merging upstream/master into your dev branch
It is important that you maintain an up-to-date master branch in your local repository. This is done by merging in the upstream/master (the official documentation repository) into your local repository. You will want to do this before you start working on a feature as well as right before you submit your changes as a pull request. You can also do this process periodically while you work on your changes to make sure you are working off the most recent version of the documentation.
This process will do the following:
- Checkout your local master branch
- Synchronize your local master branch with the upstream/master so you have all the latest changes from the official docs
- Merge the latest changes from the official docs into your dev branch so it is up-to-date with the latest changes
$ git checkout master $ git fetch upstream $ git merge upstream/master $ git checkout dev $ git pull . master
Now your dev branch is up-to-date with all the recent changes in the upstream/master.
Making a pull request on GitHub to contribute your changes
When you are happy with your changes and you want to contribute them, you will be creating a Pull Request on GitHub to do so. This is done by pushing your changes to your forked repository (usually called 'origin') and then initiating a pull request.
Make sure you have merged upstream/master into your dev branch before you do this.
$ git push origin master $ git push origin dev
Now that the dev branch has been pushed to your GitHub repository, you can initiate the pull request.
To initiate the pull request, do the following:
- Navigate your browser to your forked repository: https://github.com/YOUR_ACCOUNT/cloudstack-docs
- Click the new button called 'Compare & pull request' that showed up just above the main area in your forked repository
- Enter a good description of the work you have done and then click 'Send pull request'
If you are requested to make modifications to your proposed changes, make the changes locally on your dev branch, re-push the changes and submit the pull request again.
Cleaning up after a successful pull request
Once the dev branch has been committed into the upstream/master branch, your local dev branch and the origin/dev branch are not needed anymore. If you want to make additional documentation changes, restart the process with a new branch.
Make sure that your changes are in upstream/master before you delete your dev and origin/dev branches!
You can delete these deprecated branches with the following:
$ git checkout master $ git branch -D dev $ git push origin :dev