Brett Owers
← All Projects

Learning Web Technologies

Archived

March 1, 2018

A reference repo created during the Array School of Technology and Design coding bootcamp. Documents the foundational command line, Git, and version control concepts that every developer builds on.

Purpose

Created as a personal reference during bootcamp to internalize the fundamentals — command line navigation, Git workflows, and the mental model of how files move through the version control lifecycle.

Stack

GitCommand LineBashGitHub

What I Learned

  • The Git staging model (Working > Staging > Git Directory) is a state machine — files transition through Untracked > Tracked > Unmodified > Modified > Staged > Committed
  • Understanding the difference between git merge and git rebase early saves countless headaches later — merge preserves history, rebase linearizes it
  • The command line is not optional — every GUI is an abstraction over these commands, and when the GUI breaks, you need the fundamentals
  • git reset HEAD and git checkout -- are the escape hatches that give you confidence to experiment without fear of losing work
  • Bootcamp teaches you the vocabulary. The real learning happens when you use these commands on real projects with real consequences.

Key Insights

  • Version control is not just a tool — it is a mindset. The habit of committing small, meaningful changes is the foundation of professional development
  • The Working > Staging > Git Directory flow maps directly to the broader task pattern: draft > review > ship. This mental model shows up everywhere in software.
  • Learning in public (even in a nearly-empty repo) creates a breadcrumb trail that your future self will thank you for
#git#command-line#bootcamp#fundamentals#version-control#learning

This post was composed through a conversation between Brett Owers and Claude Code (Anthropic). The content reflects Brett's recollection of each project and the lessons drawn from it. Some details may be approximate or omitted — the purpose is to paint an honest picture of a software engineer's development over time, not to serve as a precise historical record.