Quick poll

Rapid fire

Hands up if you use git (semi) regularly

Quick poll

Hands up if you learned Git by …

  • taking a formal / organized course
    • (e.g. at uni, etc, with a proper teacher / instructor)

Quick poll

  • taking maybe a online short course
    • (e.g. Coursera, etc).

Quick poll

  • searching StackOverflow, and fumbling around on the command line
    • and re-cloning your repo when you screwed up

Why are we all self-taught?

Because
Git’s
so
EASY
????

Glorious beligerance



Other folks already spoke to the caveats I am ignoring

So i’ll pretend they don’t exist

Deal with it 😈

The problem…


It’s hard to get past

add, commit, push, pull

on your own.

Why…?

Quick poll (no 2)



Rapid fire again…

Quick poll (no 2)

Hands up if at any time in your Git journey you have ever felt

  • even a teeny bit fearful about what the Git command you are about to run will actually do.

Quick poll (no 2)

Hands up if at any time in your Git journey you have ever felt

  • just slightly uncertain about what the correct Git command to use is.
    • (e.g. reset vs revert vs restore)

Quick poll (no 2)

  • You still feel the fear if you see some weird Git message
  • You are in 'detached HEAD' state.
  • ‘fatal: not a git repository’
  • ‘fatal: ... unrelated histories’
  • ‘failed to push some refs ...’

Quick poll (no 2)

  • Hands up if you always have in the back of your mind…
    • “Well, if it all goes wrong, I can just delete my local repo, and re-clone”

That’s a bit sad, no?



If we feel like that, what sort of expectations can we really have of our students?

So are we avoiding teaching Git because we are afraid?

Just what are the barriers?

  • Directory structure
  • CLI
  • Syntax
  • Mental model
  • Is Git really just like “track changes”?


Doesn’t that make anyone else feel stupid?
- i.e. “Oh it’s really simple! It’s just…”

So what do we do?

  • Be honest about the fear / difficulty
    • it’s not just like track changes
  • Confront them ourselves. That means…
  • Developing an actually correct mental model!
  • Find an actually relevant use case.