/git-git-git

Excuse the dumb name. This is the space that I'm going to be using to organize my git-talk.

Git-git-git

Excuse the dumb name. This is the space that I'm going to be using to organize my git-talk.

Format

This talk will be presented in the course of 40-some minutes and will go a bit, but not too far, in depth.

Introduction [8 minutes]

- A story about a version control-less world
- What is git?
- Why would I want to use git?
- What I'm going to tell you.
    - How we're going to break this up (beginner/expert)

Body (so affectionately named) [20 minutes]

Each of these will broken down into: - a new command - graph theory view of what it is? - what does it do - why do I want to use it

Close out [2 minutes]

- What I just finished telling you
- Q&A / Why this is important

Q&A [10 minutes?]

- Given an example in git __if easily setup__

Ideas

- Show what the graph theory looks like (how? Separate image? Whiteboard? 'cat'?)
- should cover HEAD, also ^ and ~ and .. notation
- Commands to consider
    - status
    - add
    - commit
        - cover commit hash, ranges, sane messagesj
    - log
    - diff
    - branch
    - push
    - pull
    - fetch
    - checkout
    - stash
    - cherry-pick
    - reset
    - rebase
    - remote / fork <- separate sections
    - reflog
- should I cover working / stage / repo?

I think I'll split this up into sections:

I. Git Basics

  • Init
  • Clone
  • Add
  • Status
  • Commit
  • log

II. Warming up

  • branch
  • stash
  • diff
  • merge
  • checkout
  • reset
  • cherry-pick

IIIIIIIIIII. Working alone, together

  • Push
  • Pull
  • Fetch
  • Remote
  • forking
  • pull requests

Inspiration

- http://zachholman.com/talk/more-git-and-github-secrets/
- https://github.com/schacon/git-presentations/blob/master/basic_git_talk/BasicGitTalk.pdf