GitNoon Lesson 1

Get Ready for GitNoon!

  1. Install git if you haven’t already:
    git-scm.com/downloads
    • On Windows, choose Git Bash when installing
  2. Open a terminal (or Git Bash on Windows)
  3. Make sure you can run the git command
  4. You should see usage instructions for git

Thanks

  • To the host for the great venue!
  • To our sponsors

Administrivia

  • Fire escapes
  • Toilets
  • Cleaning up after ourselves
  • WiFi

Lunch Talk: Intro to Git

  • What is Git?
  • Why use Git?
  • What are GitHub, GitLab, etc?
  • What to expect from GitNoon

What is Git?

  • Git is a tool to record versions of files over time
  • Git works with any type of file
    • Git works especially well with plain-text like source-code and config
  • The most popular Version Control System (VCS)

Why use Git?

  1. Backup every version of your files
    • Being able to restore any previous version gives you confidence to make radical changes
  2. Seamlessly collaborate with others
    • Everyone can work on the same files at the same time, then combine their changes later
  3. Explore file history
    • Every version in Git records the author, date, and change description
    • Find who made a change, when, and why

What about GitHub, GitLab, BitBucket, etc?

  • Online services for hosting/sharing Git repositories
    • Many can be self-hosted in your corporate environment
    • Some have an open-source edition, like GitLab
  • Provide features for:
  • Change Control
    • Pull/Merge requests with discussions and approvals
  • Continuous Integration/Delivery (CI/CD)
    • Automated checks and tests, deploying code
  • Static web hosting
    • Turn a Git repository into a website - great for docs!
  • And more
    • Issue tracker, security scanning, container registries

What to expect from GitNoon

  • Each lesson will have:
    • A 20-30 minute presentation
    • A 30-60 minute hands-on tutorial
  • We’ll use Git from the command-line / terminal
    • The fundamentals you’ll learn apply to any GUI
    • A GUI is not always available (e.g. on a server)
    • No previous command-line experience required
  • We’ll focus on Git itself
    • Less on specific features of services like GitHub

Structure of this Course

Lesson Presentation Tutorial
1 Intro to Git Tracking a project in Git
2 Exploring history Sharing repositories with others
3 Collaboration workflows Branching and merging
4 Rewriting history Pull requests and rebasing

Tutorial Objectives

  1. Configure Git on your machine
  2. Create your first Git repository (aka repo)
  3. Track file changes
  4. Revert to a previous version

Homework

  1. Set a daily reminder to commit a blog entry
  2. Prepare for the next tutorial on remote repos
    • Create an account on github.com
    • If you have any issues, please contact the instructor well ahead of the next lesson!