Linux, terminal and Git

Stage 1 of 8 · 8 lessons · ~2 weeks

Set up your machine

Install WSL 2 with Ubuntu, make Windows Terminal your home, and keep projects in the Linux file system. The rest of the roadmap runs in that Ubuntu shell, so a clean setup now saves hours of confusing errors later.

Start: WSL 2 with Ubuntu

Lessons· one lesson for each topic, in this order

  1. 1WSL 2 with Ubuntu
  2. 2Windows Terminal as your home
  3. 3Where your files should live
  4. 4Terminal, shell and prompt
  5. 5Getting help from the terminal
  6. 6Updating and installing packages
  7. 7Installing and configuring Git
  8. 8VS Code, opened from the terminal

Do this

  • Run `wsl --install` in an administrator PowerShell, restart, and create your Linux user.
  • Check `wsl -l -v` shows Ubuntu on version 2.
  • Make Ubuntu the default profile in Windows Terminal, starting in your Linux home.
  • Run `sudo apt update && sudo apt upgrade`, then install git, curl, jq and tree.
  • Configure Git inside Ubuntu: name, email, default branch and editor.
  • Create `~/code` in Linux, not under /mnt/c, and clone a test repository there.
  • Install VS Code on Windows with the WSL extension, then open `~/code` with `code .`.
  • Open the folder in File Explorer with `explorer.exe .` to see where it lives.

Start with· follow one of these

Keep handy

  • The editor used through this roadmap, with official set-up guides for each operating system

Also worth your time

  • A map of the whole Linux topic, to see how much there is beyond this stage

Before moving on: Windows Terminal opening Ubuntu on WSL 2 by default, Git configured inside Ubuntu, a `~/code` folder in the Linux file system, and VS Code editing it through the WSL extension with `code .`.

Tauseef's advice
Treat Ubuntu in WSL as your development machine and Windows as the place your browser lives. Keep code in the Linux home, install tools with apt inside Ubuntu, and ignore tutorials that tell you to use Git Bash or Command Prompt for this work.

Mark this stage as not done?