Working with Git distributed                   revision control systemJordi Mas – jmas@softcatala.org, @jordimashBarcelona...
Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
What, Where, When, Why & Who ●    Git is an open source DVCS (Distributed Version Control System) ●    Comes from the need...
Git - Features●   Distributed development        ●   Supports HTTP, FTP, rsync, or a                                      ...
Community         Hundreds●   Dozens of large open source projects (GNOME, Mono, KDE,    Kernel.org, Android, github hosti...
Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
DVCS●   Server based (SVN, etc)         You have the lastest version of the repo         Depends always on a sever (comm...
Staging area or index●   An intermediate local area that you can setup how your commit will    look like before you commit...
Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
Branches – diverging branch●   A branch uses 40 bytes since it is just a pointer (compare this to    the copy approach of ...
Branches – 3 way mergingThree-way merge between the two latest branch snapshots (C3 andC4) and the most recent common ance...
Branches – rebasingUses the common ancestor of the two branches getting the diffintroduced by each commit of the branch yo...
Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
Git official packages●   Download them from http://git-scm.com/download
Tortoise Git for Windows
Software – cgit web based UI Sample: http://git.gnome.org/browse/gbrainy/
Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
A strongly recommended book       http://www.progit.org/
Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
Upcoming SlideShare
Loading in …5
×

Git presentation

966 views
912 views

Published on

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

  • Be the first to like this

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

No notes for slide

Git presentation

  1. 1. Working with Git distributed revision control systemJordi Mas – jmas@softcatala.org, @jordimashBarcelona Developers Conference 2011
  2. 2. Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
  3. 3. What, Where, When, Why & Who ● Git is an open source DVCS (Distributed Version Control System) ● Comes from the needs of the kernel.org community ● Started in 2005 by Linus Torvalds, continued by Junio Hamano and + ● “...Distributed version control is … possibly the biggest advance in software development technology in the [past] ten years." Joel Spolsky * ● Other popular open source DVCS  Bazaar, Mercurial* http://joelonsoftware.com/items/2010/03/17.html
  4. 4. Git - Features● Distributed development ● Supports HTTP, FTP, rsync, or a Git protocol (over ssh too).● Fast as a shark ● Can act as a SVN/CVS server,● Great support for branches transparent to legacy users● Secure and consistent ● Pre / post hooks● Toolkit design (Aka API)● Multi-platform (Linux, Mac & Windows)
  5. 5. Community Hundreds● Dozens of large open source projects (GNOME, Mono, KDE, Kernel.org, Android, github hosting, etc) and corporate users using it every day● Good books from Apress, OReilly and on-line● Community documentation● Forums, mailing lists, weblogs, irc
  6. 6. Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
  7. 7. DVCS● Server based (SVN, etc)  You have the lastest version of the repo  Depends always on a sever (commit, blame, etc)  Revisions numbers are tied to a repository ● Git  Every client has a full copy of the repository  Can work off-line  Revisions numbers are SHA-1 based on content
  8. 8. Staging area or index● An intermediate local area that you can setup how your commit will look like before you commit it. Like a temporary local branch.  Allows precise control of what your commit is going to look like  Usefull for single commits with many changes & files● You can skip it by using git commit -a and work directly on the repository
  9. 9. Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
  10. 10. Branches – diverging branch● A branch uses 40 bytes since it is just a pointer (compare this to the copy approach of SVN)● A experiment branch with a single commit and master with a different commit
  11. 11. Branches – 3 way mergingThree-way merge between the two latest branch snapshots (C3 andC4) and the most recent common ancestor of the two (C2), creating anew snapshot (and commit)
  12. 12. Branches – rebasingUses the common ancestor of the two branches getting the diffintroduced by each commit of the branch you’re on, saving those diffsto temporary files, resetting the current branch to the same commit asthe branch you are rebasing onto, and finally applying each change inturn.
  13. 13. Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
  14. 14. Git official packages● Download them from http://git-scm.com/download
  15. 15. Tortoise Git for Windows
  16. 16. Software – cgit web based UI Sample: http://git.gnome.org/browse/gbrainy/
  17. 17. Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work
  18. 18. A strongly recommended book http://www.progit.org/
  19. 19. Index- Introduction to Git- Key concepts- Branching- The software- Further reading- On-hands work

×