Filters
How to search
  • Plain words find names, texts and examples.
  • "two words" finds the exact phrase.
  • --name or -x finds an option.
  • #word looks only inside commands.
  • @grep finds lessons and labs that use grep.
  • Filters: cat:network · in:labs · in:notes · level:rhcsa · ch:8 · root:yes. Put ! before a word to leave it out. OR between words means one of them.
  • ↑ ↓ to move · Enter to open · Esc to close · / to search

Git & CI/CDDevOps series

GitHub vs GitLab vs Bitbucket

The forge you choose is a ten-year decision made in a two-week trial. The feature lists look similar; the differences are in how the work queues and who owns the escape hatch.

Quick reference

GitHubGitLabBitbucket
CIActions + runnersBuilt-in CI/CDPipelines, Docker
IssuesIssues + ProjectsIssues + boardsIssues, or Jira
PermissionsRoles + teamsRoles + protectedGroups + branch
Self-hostingEnterprise ServerSelf-managed CE/EEData Center
EcosystemLargest marketplaceOne integrated appAtlassian stack
Best forOpen source, reachAll-in-one DevOpsJira-centric teams

How to pick

  • GitHub → reach: the community and the widest integrations.
  • GitLab → one application from issue to deploy.
  • Bitbucket → the Atlassian shop that lives in Jira.

Explained

CI and issues

GitHub runs Actions, with hosted runners and a marketplace of reusable workflows. GitLab ships CI/CD in the same application, driven by .gitlab-ci.yml, so the pipeline needs no second product. Bitbucket uses Pipelines, a Docker-based YAML runner. For issues, GitHub pairs Issues with Projects, GitLab has issues and boards with epics on higher tiers, and Bitbucket has issues but many teams keep the real tracker in Jira.

Control and hosting

Permissions follow the same shape: GitHub has read, triage, write, maintain and admin roles plus teams and rulesets; GitLab has Guest through Owner with protected branches; Bitbucket uses groups, branch permissions and merge checks. Self-hosting is Enterprise Server, self-managed GitLab, or Bitbucket Data Center.

Ecosystem and fit

GitHub has the largest integration ecosystem and the open-source gravity. GitLab sells one application, one login and one data model. Bitbucket is the natural choice when the organisation already lives in Jira and Confluence. Best for: GitHub for reach, GitLab for consolidation, Bitbucket for the Atlassian stack.

The honest caveat: plan tiers decide the details. Merge queue, merge trains, required reviewers and included CI minutes all change with the plan, and list prices move, so check the edition you would actually buy.

The lesson: compare the migration out, not only the feature in.

In one line

Pick the forge you can leave. Migration cost is a feature; measure it before you commit.

Export the issues

gh issue list --limit 1000

More notes: Git & CI/CD

Open in the notes app: search, filters, copy This note on GitHub