Davinci git brown_bag

373 views
316 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
373
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Davinci git brown_bag

  1. 1. Git and Github.com Jason Nobleinstructor@jasonnoble.org
  2. 2. What is Revision Control?• Keeps track of changes over time• Allows you to go back in time• Helps prevent code from “disappearing”
  3. 3. Revision Control Systems• cp –R source_dir source_dir-2013.02.20.12.18.52• Mark Rochkind creates Source Code Control System (SCCS) in 1972• Walter Tichy releases Revision Control System (RCS) in 1982 (still actively maintained)• CVS introduced in 1986 (handles editing multiple files at once)• Commercial systems: ClearCase, VSS and Perforce
  4. 4. Revision Control Systems (cont)• Subversion (SVN) came out in 2000. Designed to be mostly compatible with existing CVS projects. – Offers atomic commits (CVS did not) – Keeps track of file renames and moves – Branching / Tagging is expensive (copies all files) – Tags are modifiable
  5. 5. Revision Control Systems (cont)• Git introduced in 2005 – Linux kernel used BitKeeper (commercial software) because it was free for OSS – Bitkeeper started charging, so Linus Torvalds wrote a compatible program (Git)• Mercurial (similar to Git) was also created because of the BitKeeper license change
  6. 6. Features of Git• Git has a strong emphasis on non-linear development• Branching and merging is easy• Auditing of history – If the code in a commit changes, the SHA-1 changes – Once published, it prevents history changes without people noticing• Distributed Development is the #1 selling point
  7. 7. Git 101• Setup central “blessed” repository – Each developer downloads a copy – Developer can do local development without affecting other developers• Branching is cheap – git checkout -b branch_name
  8. 8. Getting started with Git• mkdir test_app• cd test_app• vi hello_world.rb #!/usr/bin/env ruby puts “Hello World”• git init .• git status• git add hello_world.rb• git commit –m ‘Added hello_world.rb’
  9. 9. Github• Github.com is a website that hosts Git repos• Allows you to share your code with others• Easy Forking / Cloning of existing repos• Provides an easy to use website for hosting your software projects
  10. 10. Create New Repo on Github• Visit https://github.com – Login if necessary• Click New Repository• Enter repository name, description• Click Create repository• Follow directions
  11. 11. Additional Hands on Training• Tonight from 6:30 to 8:30pm• Bring a laptop with Git installed• Signup for a Github.com account• Hands on instructor led tutorial – TAs will be available to assist• http://www.meetup.com/DaVinci- Coders/events/104098422/

×