GitHub
Rest API
GitHub offers a Rest API, check documentation here.
Repository Configurations
Following a Gitflow workflow, it is good practice make some configurations.
Deafult branch
Change the repository default branch to develop, inside project's settings.
Configure Pull Requests
Configure Pull Requests on project's settings to ONLY squash commits on merge. Disable the others.
Added Rulesets
Inside the project's settings "Branch protection rules".
main and develop
main and developAdd restriction rules on the main branch, so that code is not commited or pushed directly on it, but only pushed with Pull Requests.
ruleset-name: gitflow-main-branches-restrictions
bypass-list:
- repo_admins
target-branches:
- main
- develop
branch-rules:
- restrict_creation
- restrict_updates
- restrict_deletions
- require_linear_history
- require_signed_commits
- require_pr_before_merging
- dismiss_stale_pr_approvals_after_new_commits
- require_conversation_resolution_before_merging
- allow_merge_methods
- squash
- require_status_check_pass
- require_branches_to_be_update_before_merging
- block_force_pushesfeature
featureruleset-name: gitflow-feature-branch-restrictions
target-branches:
- feature/**/*
branch-rules:
- require_signed_commits
- block_force_pushesrelease
releaseruleset-name: gitflow-release-branch-restrictions
target-branches:
- release/**/*
branch-rules:
- require_signed_commits
- block_force_pusheshotfix
hotfixruleset-name: gitflow-hotfix-branch-restrictions
target-branches:
- hotfix/**/*
branch-rules:
- require_signed_commits
- block_force_pushesPull Request Templates
Create a template inside the projects folder at /.github/PULL_REQUEST_TEMPLATE.md.
Ideal to create at Repository start.
Codeowners
You can use this functionality to specify users as owners of folders, file, extensions, etc inside the project.
This will make them automatically a required Reviewer for PRs on these files.
To add Codeowners add this file to the project's .github folder.
*.js @username
/src/sectionA @user2 @group-A
spec.go @group-BReleases
Last updated