do you get git?

19

Upload: prasid-pathak

Post on 27-Jun-2015

1.132 views

Category:

Engineering


0 download

DESCRIPTION

Done with Codecademy? Ready to build something real? Although Git started out as a way to track versions and collaborate on code with other developers, it has now become much more than that. GitHub is an online repository of code that is committed using Git, and has become a platform for developers all over the world to collaborate on open source projects. Hiring managers look at GitHub profiles to check out a prospective hire’s past projects. As a result, GitHub has become a de facto portfolio in the world of software. TechTalk Agenda In this TechTalk, we’ll give you a crash course in Git: What is version control and why should you care? Why Git is the industry standard, and why you should be using it What’s the difference between Git and GitHub? The basics of Git: branches, merging, and collaboration Publishing to Heroku Advanced features of Git About the Host- Dave Paola Dave it the co-founder and CTO at Bloc. Prior to Bloc, Dave was a developer at Kontagent, has over 15 years of software development experience, and has founded numerous other companies.

TRANSCRIPT

Page 1: Do You Get Git?
Page 2: Do You Get Git?

IntroAbout Dave

● Co-Founder & CTO at Bloc● Programmer since childhood● Bloc, Kontagent/Upsight, Djangy

About Bloc

● Immersive, online mentorship courses in web dev, mobile dev, design

About Git

● Git is an extraordinarily powerful tool● This is a brief intro!

Page 3: Do You Get Git?

AgendaWe will cover:

1. What is Version Control?a. Why should you care?b. Historical contextc. Why you should use it

2. Git terminology + basics (w/ Demo)3. GitHub4. Collaborating on GitHub: branches and pull requests5. Publishing from git directly into Heroku (w/ Demo)6. Advanced features7. Q&A

Page 4: Do You Get Git?

Version Control

● Changes○ Record changes○ Attribute changes○ “Apply changes”

● Change should be something we model and care about

Page 5: Do You Get Git?

History

● The dark times (no version control)○ email source files around○ keeping track of changes difficult, if not impossible○ messy (June 5 Version 5 revised v2 v3 REVISED AGAIN filenames)

Page 6: Do You Get Git?

History

● Diffs and patches● Make a copy every time you change something● diff = file containing difference between your new copy and the original● patch = replay the diff on someone else’s original to produce your

changes

Page 7: Do You Get Git?

History

● CVS (Concurrent Versions System) - 1990○ Central repository

● SVN (Subversion) - 2000○ Central repository

● Git - 2005○ Built by Linus Torvalds for the linux kernel○ Distributed

● Hg (Mercurial, very similar to git)

Page 8: Do You Get Git?

Basics● Commit

○ Set of changes to one or more files● Branch

○ A collection of commits in a certain order○ Main branch is called “master”○ Branches for all sorts of things

■ New features■ bug fixes■ copy changes■ releases

○ Branches are “merged”● Repository = set of branches

Page 9: Do You Get Git?

Demo

Page 10: Do You Get Git?

Basics

Page 11: Do You Get Git?
Page 12: Do You Get Git?

GitHub

Page 13: Do You Get Git?

GitHub

Page 14: Do You Get Git?

Collaborating

● Push/Pull● Branching● Pull Requests

Branches and Pull Requests

Page 15: Do You Get Git?

Heroku

● Before heroku○ purchase virtual server (or physical server)○ configure application server software○ configure reverse proxy (apache / nginx)○ configure databases, caches, permissions, other services

● After heroku○ git push heroku master○ heroku addons:add heroku-postgresql

Page 16: Do You Get Git?

Heroku

Page 17: Do You Get Git?

Heroku demo

Page 18: Do You Get Git?

Questions?

Page 19: Do You Get Git?

Advanced

● Stashing● Rewriting history (Merging vs. Rebasing)● Squashing commits (Interactive Rebase)● Reflog