Start by forking the dolphinscheduler GitHub repository, make changes in a branch and then send a pull request.
There are three branches in the remote repository currently:
-
master
: normal delivery branch. After the stable version is released, the code for the stable version branch is merged into the master branch. -
dev
: daily development branch. The daily development branch, the newly submitted code can pull requests to this branch. -
x.x.x-release
: the stable release version.
So, you should fork the dev
branch.
After forking the dolphinscheduler upstream source repository to your personal repository, you can set your personal development environment.
cd <your work direcotry>
git clone <your personal forked dolphinscheduler repo>
cd dolphinscheduler
Add remote repository address, named upstream
git remote add upstream https://github.com/apache/dolphinscheduler.git
View repository:
git remote -v
There will be two repositories at this time: origin (your own warehouse) and upstream (remote repository)
Get/update remote repository code (already the latest code, skip it).
git fetch upstream
Synchronize remote repository code to local repository
git checkout origin/dev
git merge --no-ff upstream/dev
If remote branch has a new branch dev-1.0
, you need to synchronize this branch to the local repository, then push to your own repository.
git checkout -b dev-1.0 upstream/dev-1.0
git push --set-upstream origin dev-1.0
Before making code changes, make sure you create a separate branch for them.
git checkout -b <your-feature-branch> dev
After modifying the code locally, submit it to your own repository:
git commit -m 'information about your feature'
Push your locally committed changes to the remote origin (your fork).
git push origin <your-feature-branch>
After submitting changes to your remote repository, you should click on the new pull request On the following github page.
Select the modified local branch and the branch to merge past to create a pull request.
Next, the administrator is responsible for merging to complete the pull request.