PNL Learn

Git and the Command Line

Navigate the terminal and version your work like a pro.

Get comfortable in the terminal and learn the git workflow every development team expects. You will move around the file system, find files and search logs with pipes, commit clean history, branch and merge, resolve a real merge conflict, push to GitHub and open pull requests, and undo mistakes safely. Then you will set environment variables and PATH, write scripts that stop on the first failure, stop processes with the right signal, test an HTTP API with curl, and ship a tagged release from the terminal.

BeginnerTools8 lessons108 exercisesAbout 7 h
Create a free account

What you will learn

  • Terminal
  • Pipes and redirection
  • Git commits
  • Branching and merging
  • GitHub pull requests
  • Safe undo
  • Environment variables
  • Shell scripts
  • Processes and signals
  • curl

Lessons

  1. 1

    The Terminal

    Move around the file system, manage files, find them, and search text with pipes and redirection.

    15 exercises

  2. 2

    Git Basics

    Create a repository, stage and commit changes, read history and diffs, and ignore files that do not belong.

    12 exercises

  3. 3

    Branches and Merging

    Work on branches, merge them back, resolve a merge conflict, and undo mistakes safely.

    12 exercises

  4. 4

    Remotes and GitHub

    Clone, push, fetch and pull, open pull requests, review code well, and contribute through a fork.

    12 exercises

  5. 5

    A Real Workflow

    Run the feature branch workflow end to end, rebase, tag a release, and recover from the mistakes everyone makes.

    14 exercises

  6. 6

    Environment, Exit Codes and Scripts

    Set environment variables for one command or a session, understand PATH and .env, chain commands on exit codes, and write a script that stops on failure.

    15 exercises

  7. 7

    Processes, Signals and Talking to Servers

    Find and stop processes, tell SIGTERM from SIGKILL, call an HTTP API with curl and read its status line, keep tokens out of shell history, and set up SSH keys.

    15 exercises

  8. 8

    Putting It Together: Ship a Release from the Terminal

    Cut release 1.3.0 of the shop API end to end: release branch, a release script that stops on failure, an annotated tag, a smoke test with curl, and a clean stop.

    13 exercises

How you practice

You practice in the browser and every exercise gives you feedback right away. This course uses these formats:

  • Type the answer: 57
  • Multiple choice: 11
  • Reorder lines: 10
  • Fill in the blank: 10
  • Spot the bug: 8
  • Match the pairs: 6
  • Select all that apply: 6

Aligned to

CS2023ACM / IEEE-CS / AAAISource
  • Networking and Communication
    • NC-ApplicationsNetworked Applications
  • Software Engineering
    • SE-TeamworkTeamwork
    • SE-ToolsTools and Environments

Proto Node Labs is not affiliated with or endorsed by ACM / IEEE-CS / AAAI. Exam names are trademarks of their owners.