You can report a bug, submit a new function enhancement suggestion, or submit a pull request directly.
1. Prepare repository
Go to ShardingSphere GitHub Repo and fork repository to your account.
Clone repository to local machine.
git clone https://github.com/(your_github_name)/shardingsphere.git
Add ShardingSphere remote repository.
cd shardingsphere
git remote add apache https://github.com/apache/shardingsphere.git
git remote -v
Build and install all modules, it’ll install modules into Maven local repository cache, and also generate Java class files of parser from ANTLR grammar .g4
files to prevent from compile error of parser on IDE.
cd shardingsphere
./mvnw clean install -DskipITs -DskipTests -Prelease
When you pull the latest code from ShardingSphere and create new branch later, you might get similar compile error of parser again, then you could run this command again.
2. Choose Issue
3. Create Branch
git checkout master
git fetch apache
git rebase apache/master
git push origin master # optional
git checkout -b issueNo
Notice :We will merge PR using squash, commit log will be different with upstream if you use old branch.
4. Coding
git add modified-file-names
git commit -m 'commit log'
git push origin issueNo
5. Submit Pull Request
6. Update Release Note
API Change
, New Feature
, Enhancement
or Bug Fix
categories. RELEASE-NOTES
needs to follow the unified format: {feature_name}: {description} - {issue/pr link}
, for example: SQL Parser: Support PostgreSQL, openGauss function table and update from segment parse - #32994
.7. Delete Branch
git checkout master
git branch -d issueNo
git remote prune origin # If you delete branch on GitHub PR page, else you could delete origin branch with following command
git push origin --delete issueNo
Notice: Please note that in order to show your id in the contributor list, don’t forget the configurations below:
git config --global user.name "username"
git config --global user.email "username@mail.com"