Git Intro

A brief introduction to version control with Git and tools to help you get comfortable.

Fox Valley Computing Professionals

12 February 2014

Jason Bell

Start Interaction is a digital design and communication strategy consultancy specializing in delivering messages with style.

Why Version Control?

It will save your a**!

Is this what your project directory looks like?

  • index-v2-old.html
  • index.html.bak
  • index.html.bak2
  • index-v3-final-maybe.html

Have you ever…

  • Made a quick fix on the production server… and oops!
  • Overwritten a file and then needed it back?

Version control will provide:

  • Know who did what & when
  • Simple change sharing
  • Team code review
  • A feel good sense of security

Why Git?

git logo

What’s in it for me?

Illustration of distributed computers
  • Headaches (at first)
  • Full code repository wherever you are (like on an airplane)
  • Reliable branching and merging

All the cool kids are doing it!

Where do i git a repository?

GitHub

Powerful collaboration, code review, and code management for open source and private projects.

  • Integrated issue tracking
  • Collaborative code review
  • Easy team management
  • Easy publishing with Github Pages

Bitbucket

Unlimited private code repositories.

  • Simple team and user management
  • Pull request and code review
  • Integrated issues tracker plus integration to other Atlassian products

Beanstalk

Private code hosting for teams.

  • Git & SVN repositories
  • Team management with branch access
  • Instant preview of HTML and images
  • Deployments!
  • Third party integrations

Git hosting services

http://www.git-tower.com/blog/git-hosting-services-compared/

Tools for working with Git

Terminal sounds dangerous!

There are many more to choose from.

In the event of conflict

We don't need no stinkin buttons!

Teach me Git

Crash course!


$ git clone git@github.com:hakimel/reveal.js.git
$ git branch my-reveal-copy
$ git checkout my-reveal-copy
                    

Make your changes to index.html and commit them in your branch.


$ git add index.html
$ git commit -m "I changed something"
                    

Get the basics down

tryGit course on Code School

This free course gets you through the basics of using git with an introductory project in your Github account.

Learn Git Branching

LearnGitBranching is an interactive application to learn about branching.

I have a team

It’s complicated

Working in a team environment really lets Git shine. It also gets complicated. Read these ideas and find a workflow that works for your team…

Thanks for listening…

…and now for people who know what they are doing!