isnotbadforyou.com/gitlab

GitLab is not bad for you... ...it just takes about one afternoon to stop being confused by it

How to set up GitLab for a small team or solo project without losing a weekend to the docs.

The math: GitLab looks like it was designed for a 500-person engineering team, which is intimidating if you just want to back up your code and stop emailing yourself zip files. Most people either over-configure it and give up, or under-use it and miss the features that actually save time. The cost of ignoring version control is real: one bad deploy or overwritten file can cost hours of recovery work. A basic GitLab setup takes one focused afternoon and then runs itself.

1 Start with a free GitLab.com account, not self-hosted

Self-hosting GitLab on your own server is a real option, but it requires 4GB of RAM minimum and ongoing maintenance. For most people — solo devs, small teams, freelancers — GitLab.com free tier gives you unlimited private repositories, CI/CD pipelines, and 5GB storage without touching a server. I spent three hours setting up a self-hosted instance before I realized the free cloud version did everything I needed. Create an account at gitlab.com, verify your email, and create your first project before buying anything else.

Start Here
GitLab CI/CD Crash Course — Udemy Online Course by Valentin Despa
$14.99 ★★★★☆ 4.6 (12,000+ reviews)
"This course covers exactly the GitLab features most people actually use — pipelines, merge requests, variables — without padding it with enterprise content you will never touch."
⚠️ Avoid: Do not buy a book on GitLab administration unless you are literally being paid to manage a GitLab server — it covers almost nothing relevant to everyday project use.
Check Price on Amazon →

2 Install Git on your local machine before anything else

GitLab is a remote host for your code — Git is the tool that actually tracks changes on your computer. Without Git installed locally, you cannot push code to GitLab or pull it back down. On Windows, Git for Windows is the one to use. On Mac, running 'git --version' in Terminal will prompt an install automatically. The setup takes about five minutes and you only do it once.

Step 1
Git Pocket Guide by Richard E. Silverman — O'Reilly Paperback
$19.99 ★★★★☆ 4.5 (1,200+ reviews)
"It is 234 pages and covers every Git command you will actually run in the real world, no filler, fits in a back pocket for desk reference."
⚠️ Avoid: Skip any Git GUI app that promises to replace the command line — they hide what is actually happening and make debugging merge conflicts twice as hard.
Check Price on Amazon →

3 Set up SSH keys so you stop typing your password on every push

Every time you push code to GitLab without SSH keys, you type your username and password. After the fourth time, this is enough to make someone quit. SSH keys are a one-time setup: you generate a key pair on your machine, paste the public key into GitLab under Settings > SSH Keys, and Git authenticates silently from then on. The whole process takes about ten minutes and the GitLab docs walk through it step by step.

Step 2
YubiKey 5 NFC by Yubico — Hardware Security Key
$50.00 ★★★★☆ 4.8 (15,000+ reviews)
"If you are storing anything sensitive in GitLab — client code, API keys, business logic — a YubiKey adds hardware two-factor authentication that no phishing attack can bypass."
Check Price on Amazon →

4 Use GitLab CI/CD to automate at least one repetitive task

CI/CD sounds like an enterprise buzzword but it is just a text file in your repository that tells GitLab to run commands automatically when you push code. The most useful first pipeline is a simple one: run your tests, then deploy to your server or hosting provider. I set one up that deploys a static site to an S3 bucket on every push to main — it took about 45 minutes to configure and I have not manually deployed since. The .gitlab-ci.yml file lives in your repo and is version-controlled alongside your code.

Game Changer
The DevOps Handbook by Gene Kim, Patrick Debois, John Willis — Paperback
$24.99 ★★★★☆ 4.7 (4,800+ reviews)
"This book explains the thinking behind CI/CD pipelines in plain language — once you understand why the workflow exists, the GitLab config files start making sense instead of feeling arbitrary."
⚠️ Avoid: Do not use GitLab's Auto DevOps feature when you are starting out — it makes a lot of decisions for you silently and debugging a broken auto-generated pipeline is harder than writing a simple one yourself.
Check Price on Amazon →

5 Protect your main branch so no one pushes broken code directly

By default, anyone with access to your GitLab project can push directly to the main branch, which means one rushed commit can break a live site with no review. Go to Settings > Repository > Protected Branches and set main to require a merge request before any code lands there. This costs nothing and takes two minutes, and it forces even solo developers into a habit that prevents most late-night disasters. If you have a team, also enable required approvals so at least one other person reviews each merge request.

Don't Skip
Logitech MX Keys Advanced Wireless Keyboard
$109.99 ★★★★☆ 4.6 (22,000+ reviews)
"If you are spending serious time in GitLab writing pipelines and reviewing merge requests, a keyboard with tactile keys and backlighting makes long code review sessions noticeably less fatiguing."
⚠️ Avoid: Do not rely on GitLab's built-in Wiki for team documentation — it is hard to search and does not support the same merge request review workflow your code does. Use a separate docs-as-code repo instead.
Check Price on Amazon →

6 Back up your GitLab repos locally even though they live in the cloud

GitLab.com has had outages, and free tier accounts have had data incidents in the past. A local backup takes thirty seconds: clone each repository to an external drive once a month. If you have more than a handful of repos, a small script using the GitLab API can clone all of them at once. Florida power outages — which are common in Charlotte County during hurricane season — can corrupt a working local copy, so an external SSD in a different physical location is worth the cost.

Pro Tip
Samsung T7 Portable SSD 1TB USB 3.2
$89.99 ★★★★☆ 4.7 (85,000+ reviews)
"Fast enough to clone a full repository in seconds, small enough to throw in a go-bag during an evacuation, and reliable enough to trust as the one place your work actually lives offline."
Check Price on Amazon →
DIY total: $310 total for everything on this page
vs. professional: A freelance DevOps consultant to set up GitLab CI/CD for a small team runs $800–$2,000 for initial setup plus ongoing hourly fees.
You save: Up to $1,700 doing this yourself with one afternoon and the right course

GitLab will run your entire development workflow for free — the only thing standing between you and that is one afternoon with a decent course and the nerve to push your first commit.

isnotbadforyou.com/gitlab · A North Port neighbor's honest take

This page may contain affiliate links. If you buy something through them, we earn a small commission at no extra cost to you. We only recommend things we'd use ourselves.