Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git - A simple introduction

Git - A simple introduction

An intro to the git version control system aimed at non-technical users. Presented internally @SeatGeek

Jose Diaz-Gonzalez

August 12, 2014
Tweet

More Decks by Jose Diaz-Gonzalez

Other Decks in Technology

Transcript

  1. version control Version control is a system that records changes

    to a file or set of files over time so that you can recall specific versions later
  2. life without version control • Without version control, you can

    just keep multiple copies of files • Takes up disk space for larger files • Confusing as to which file is most up to date
  3. git is for non-binary files • Hard to diff images

    and binary files • Who made the last change? How do you merge them? • Text files == git
  4. some key words • commit: a state of the repository

    at a single time • repository: a database containing your history and configuration • index/staging area: a cache between your working directory and your repository • clone: the act of copying a repository or a copy of the repository
  5. some key words • branch: a line of development. It’s

    a “label” that points to a commit • head: the top commit on a branch. Most recent in a branch’s history • upstream: a copy of a given repository. An “original” copy of the repository history • tag: a description of a given commit. Can be cryptographically signed.
  6. 1. Make some changes 2. See if they work 3.

    If they do, commit them 4. If they don’t, checkout your last state 5. GOTO 1 A git workflow
  7. use cases for git-like systems • tracking code history •

    mirroring the history of a set of files • collaborating with multiple users in a distributed fashion • sharing result-sets from commands • modifying docx files and sharing history quickly
  8. caveats • since git is distributed, not as fun alone

    • need to keep abreast of changes in the main remote branch • more annoying across multiple operating systems • lots of weird commands and states you have to deal with
  9. easy git clients • github for mac/windows • sourcetree for

    mac/windows • smartgit on windows • gitx for mac
  10. moar resources • github’s interactive tutorial: https://try.github.io/ levels/1/challenges/1 • git

    immersion: http://gitimmersion.com/ • code school: https://www.codeschool.com/courses/ try-git • pro git book (free): http://git-scm.com/book