Code contribution
How to initiate a pull request on GitHub to contribute codes
Fork Repository
Visit https://github.com/yunionio/cloudpods , fork it.
Clone source
Clone your fork repository and set upstream.
$ git clone https://github.com/<your_name>/cloudpods
$ cd cloudpods
$ git remote add upstream https://github.com/yunionio/cloudpods
How to make a Pull Request?
- Checkout a branch from master, either for a new feature or a bugfix
# checkout new branch
$ git fetch upstream --tags
$ git checkout -b feature/implement-x upstream/master
- Coding on the new branch
- After coding is done, do the following to prepare for Pull Request
$ git fetch upstream # fetch most up-to-date upstream master
$ git rebase upstream/master # resolv possible conflicts
$ git push origin feature/implement-x # push your local branch to github
- Submit Pull Request on GitHub
- Request reviews, set labels to indicate the impact components of the codes
- You may use comments to appoint reviwers and set labels. Use ‘/cc’ and @
to appoint reviwers, use ‘/area’ to indicate the impact components of the codes.
Available labels are listed under issues——Labels, any label prefixed with area can be used for ‘/area’ command.
- If the codes need to be merged into release branch, you should create new cherry-pick PRs to the target release branch.
# Donwload github command line tool: https://github.com/github/hub
# For OSX, please execute: brew install hub
# For Debian, please execute: sudo apt install hub
# For other OS, please install binaries: https://github.com/github/hub/releases
# Setup username of github
$ export GITHUB_USER=<your_username>
# Use the following scripts to cherry-pick PR to release branch
# For exmaple, to cherry-pick the PR with ID #8 to release/2.8.0
$ ./scripts/cherry_pick_pull.sh upstream/release/2.8.0 8
# the cherry pick may have conflicts, please open a new terminal to resolve the conflicts, then input 'Y' to continue the cherry-pick process
$ git add xxx # resolve conflicts
$ git am --continue
# go back to the terminal of cherry-pick, and input 'Y' to continue the cherry-pick process
Go to the Pull Requests of upstream PR, you will find the cherry-pick PR,the title of the chery-pick PR should look like: Automated cherry pick of #8: ...
, then procedure the reviwer process and merge the PR to the release branch.
attention
Git commit should follow Git Commit Convention。Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.