0
GIT
                              git the basics right




                                  david krmpotić



Saturday, N...
What is GIT?



                    • source control system
                    • distributed
                    • offline...
Git is not....




Saturday, November 28, 2009
Git is not....




Saturday, November 28, 2009
GIT vs SVN




Saturday, November 28, 2009
Basics




Saturday, November 28, 2009
Basics




Saturday, November 28, 2009
Basic Commands

                    • git init
                    • git clone
                    • git add + git commit
...
Git log




Saturday, November 28, 2009
Everything is local




Saturday, November 28, 2009
Staging Area (index)

                    • an intermediate step
                    • allows flexibility
                 ...
Why is it better than X?
                    • cheap local branching
                    • everything is local
           ...
Branching

                    • git branch develop
                    • git merge develop




Saturday, November 28, 2009
FAST




Saturday, November 28, 2009
Time to Take The Time!



                    • if you want to go faster,
                      stop and learn GIT




Sat...
Source Control
                                 Taxonomy




Saturday, November 28, 2009
DAG (no deltas)




Saturday, November 28, 2009
Source Control
                                 Taxonomy




Saturday, November 28, 2009
Workflow




                               svn style
Saturday, November 28, 2009
Integration Manager
                                   Workflow




Saturday, November 28, 2009
Dictator and
                     Lieutenants Workflow




                              Linux kernel development
Saturday,...
Object Database


                    • blob
                    • tree
                    • commit
                    •...
SHA

                    • Each object is identified by a SHA-1
                      hash of its contents




Saturday, No...
Blob




Saturday, November 28, 2009
Tree




Saturday, November 28, 2009
Commit




Saturday, November 28, 2009
Saturday, November 28, 2009
Immutable objects




Saturday, November 28, 2009
Repository Internals




Saturday, November 28, 2009
Branching commands


                    • git branch
                    • git checkout
                    • git merge
 ...
Remotes




                                        = remote branch
                                        They take the ...
Tools




Saturday, November 28, 2009
Resources

              • gitready.com
              • O’Reilly: Version Control with Git
              • PeepCode: Git
 ...
Upcoming SlideShare
Loading in...5
×

David Krmpotic: Git

1,910

Published on

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,910
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
48
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "David Krmpotic: Git"

  1. 1. GIT git the basics right david krmpotić Saturday, November 28, 2009
  2. 2. What is GIT? • source control system • distributed • offline Saturday, November 28, 2009
  3. 3. Git is not.... Saturday, November 28, 2009
  4. 4. Git is not.... Saturday, November 28, 2009
  5. 5. GIT vs SVN Saturday, November 28, 2009
  6. 6. Basics Saturday, November 28, 2009
  7. 7. Basics Saturday, November 28, 2009
  8. 8. Basic Commands • git init • git clone • git add + git commit • git push • git pull • git log Saturday, November 28, 2009
  9. 9. Git log Saturday, November 28, 2009
  10. 10. Everything is local Saturday, November 28, 2009
  11. 11. Staging Area (index) • an intermediate step • allows flexibility • build commits the way you want Saturday, November 28, 2009
  12. 12. Why is it better than X? • cheap local branching • everything is local • fast • small space • staging area • any workflow • GitHub http://whygitisbetterthanx.com Saturday, November 28, 2009
  13. 13. Branching • git branch develop • git merge develop Saturday, November 28, 2009
  14. 14. FAST Saturday, November 28, 2009
  15. 15. Time to Take The Time! • if you want to go faster, stop and learn GIT Saturday, November 28, 2009
  16. 16. Source Control Taxonomy Saturday, November 28, 2009
  17. 17. DAG (no deltas) Saturday, November 28, 2009
  18. 18. Source Control Taxonomy Saturday, November 28, 2009
  19. 19. Workflow svn style Saturday, November 28, 2009
  20. 20. Integration Manager Workflow Saturday, November 28, 2009
  21. 21. Dictator and Lieutenants Workflow Linux kernel development Saturday, November 28, 2009
  22. 22. Object Database • blob • tree • commit • (tag) Saturday, November 28, 2009
  23. 23. SHA • Each object is identified by a SHA-1 hash of its contents Saturday, November 28, 2009
  24. 24. Blob Saturday, November 28, 2009
  25. 25. Tree Saturday, November 28, 2009
  26. 26. Commit Saturday, November 28, 2009
  27. 27. Saturday, November 28, 2009
  28. 28. Immutable objects Saturday, November 28, 2009
  29. 29. Repository Internals Saturday, November 28, 2009
  30. 30. Branching commands • git branch • git checkout • git merge • git rebase Saturday, November 28, 2009
  31. 31. Remotes = remote branch They take the form (remote)/(branch). For instance, if you wanted to see what the master branch on your origin remote looked like as of the last time you communicated with it, you would check the origin/master branch. Saturday, November 28, 2009
  32. 32. Tools Saturday, November 28, 2009
  33. 33. Resources • gitready.com • O’Reilly: Version Control with Git • PeepCode: Git • whygitisbetterthanx.com • gitcasts.com/git-talk • progit.org • david@strelovod.com Saturday, November 28, 2009
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×