Git: a tool for wizards


Published on

Chris gives a great overview of git with a demos including comparisons to other CVS and some tricks at the end

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Git: a tool for wizards

  1. 1. git: a tool for wizards Chris Mangus, [1]
  2. 2. git is a version control system What is Version Control? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later
  3. 3. Why would you need version control? ● To save older versions of a file ● To review past changes ● To insure against mistakes ● To revert to older versions ● To maintain a history ● To put a name to who changed what
  4. 4. So, what is git anyway? git is a distributed version control system, that is open source and made with speed in mind
  5. 5. Quick git History ■ Linus Torvalds was using a DVCS named BitKeeper, but then BitKeeper withdrew the free version of its product ■ This inspired Linus to create his own DVCS to keep up with the demands of thousands of people working on the Linux kernel [2]
  6. 6. Git and the competition And by competition I mean SVN and Mercurial
  7. 7. ● Online vs Offline ○ No need to get on the company VPN if you only have to local work. Since git is a full repository locally, you don’t need a network connection to use source control ● Speed ● Branching ● Ease of Use Git vs SVN
  8. 8. Git vs SVN Data Representation is different as well
  9. 9. SVN Git
  10. 10. Git vs Mercurial (Hg) ● Ease of Use ● Flexibility “Git is MacGyver, and Mercurial is James Bond” [4][3]
  11. 11. One last big benefit of Git... You get to use!
  12. 12. Cool projects on Github Node.js jQuery the Linux Kernel Ruby on Rails and many many more...
  13. 13. Basic Git Mechanics ~live demo~
  14. 14. Rebase is neat? [5]
  15. 15. Now you can use git by yourself but lets work with others
  16. 16. Git Workflows ● SVN style ● Integration Manager style ● and many many more...
  17. 17. SVN Style
  18. 18. Integration Manager style
  19. 19. There are tools for that So you think the command line is scary?
  20. 20. One of the quickest ways to get a GUI with git, is to just type in git gui into your console. It will pop up a basic GTK GUI to do most things with Git Git GUI
  21. 21. SourceTree SourceTree is a fantastic full featured GUI client for Git It surfaces all the major git commands as large buttons so that there is no effort to use Git on a day to day basis. It also gives great visuals on the history of a Git repository to help find that pesky commit you are looking for
  22. 22. Now its time for some tricks? git diff --name-status master..branch finds the differences between two named branches git log --pretty=oneline gives one line log history that looks great
  23. 23. Tricks continued git stash - will save all uncommited changes into the git local repository. you can git stash pop to get these changes back at any time. git checkout -b branchname hash lets you create and switch to a new branch with the HEAD placed at the commit referenced by the hash
  24. 24. Links for more knowledge Quick link to the free git book
  25. 25. Sources [1] [2] [3] [4] martini.jpg [5] All the rest are from the Git book,