The go-ipfix project team welcomes contributions from the community. If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will update the issue when you open a Pull Request. For any questions about the CLA process, please refer to our FAQ.
Developers work in their own forked copy of the repository and when ready, submit pull requests to have their changes considered and merged into the project's repository.
- Fork your own copy of the repository to your GitHub account by clicking on
Fork
button on go-ipfix GitHub repository. - Clone the forked repository on your local setup.
Add a remote upstream to track upstream go-ipfix repository.
git clone https://github.com/$user/go-ipfix
Never push to upstream maingit remote add upstream https://github.com/vmware/go-ipfix
git remote set-url --push upstream no_push
- Create a topic branch.
git checkout -b branchName
- Make changes and commit it locally.
git add <modifiedFile> git commit
- Update the "Unreleased" section of the CHANGELOG for any significant change that impacts users.
- Keeping branch in sync with upstream.
git checkout branchName git fetch upstream git rebase upstream/main
- Push local branch to your forked repository.
git push -f $remoteBranchName branchName
- Create a Pull request on GitHub.
Visit your fork at
https://github.com/vmware/go-ipfix
and clickCompare & Pull Request
button next to yourremoteBranchName
branch.
Once you have opened a Pull Request (PR), reviewers will be assigned to your PR and they may provide review comments which you need to address. Commit changes made in response to review comments to the same branch on your fork. Once a PR is ready to merge, squash any fix review feedback, typo and merged sorts of commits.
To make it easier for reviewers to review your PR, consider the following:
- Follow the golang coding conventions
- Follow git commit guidelines.
- Follow logging guidelines.
When opening a new issue, try to roughly follow the commit message format conventions above.