Stop 04 · Git & Version ControlTopics · 7/8

GitHub / GitLab Fundamentals

Part of the DevOps Roadmap

In short

Git is the tool on your laptop. GitHub and GitLab are where the team meets: code, issues, reviews, pipelines and permissions, all in one place you'll open every working day.

The two dominant Git hosting platforms — beyond just storing code, both offer issue tracking, CI/CD (Actions/GitLab CI), and access control that most DevOps workflows depend on directly.

The mascot stands in front of a cutaway building showing a library, a notice board and a classroom.

Think of it like this

The coaching centre building

A good coaching centre has a library for books, a notice board for doubts, a staff room where teachers check answer sheets, and an exam hall for weekly tests. GitHub and GitLab are that building for code: repos, issues, reviews and CI under one roof.

Watch it happen

What lives in a hosted project

Project
Repository
Issues
PRs / MRs
CI/CD
Settings
Branch rules
Secrets

1/5At the centre is the Git repository: branches, tags and full history.

The big ideas

What you need to know

Permissions by role

Give people the lowest role they need. Not everyone needs admin rights to change settings or delete repos.

Tokens, not passwords

Use SSH keys or personal access tokens with limited scopes and expiry dates for Git and API access.

Self-hosted options

GitLab is popular self-hosted. Both offer self-hosted runners so pipelines can reach private networks.

CLIs save clicks

gh for GitHub and glab for GitLab let you open PRs, check pipelines and manage issues from the terminal.

See it in code

Walk through the code

bash
1gh auth login                       # log in once2gh repo create my-infra --private --clone3gh issue create --title "Add disk alert" --body "Alert at 80%"4gh pr list5gh run list                          # recent Actions runs6gh secret set DB_PASSWORD            # prompts for the value

1/3Log in and create a private repo, cloned straight to your laptop.

glab, GitLab's CLI, has similar commands like glab mr create and glab ci status.

Save yourself the pain

Common mistakes

Oops

Making a repo public by accident while it contains internal config.

Do this instead

Create repos private by default and review visibility before sharing. Treat anything once public as leaked.

Oops

Creating a token with full access and no expiry for a small script.

Do this instead

Use fine-grained tokens scoped to one repo and the minimum permissions, with an expiry date.

Your mission

Set up a proper repo

~25 min

Quick check

Your pipeline must reach a database inside your private network. What does GitHub or GitLab offer for this?

Go deeper

  1. 1Set up a repository on GitHub or GitLab and explore its issue tracking and settings.
  2. 2Learn the basic access control model: who can push, merge, or admin a repository.
  3. 3Understand these platforms are core DevOps tools, not just code storage.

More topics at this stop

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.

Download
InsideEdge