This document provides an overview of Git and its features. It discusses source control management (SCM) and version control systems (VCS). It describes the different SCM models including local, centralized, and distributed systems. Key aspects of Git are summarized like its use of snapshots instead of differences, three states of files, and its speed and integrity. Branching, merging, and rebasing functions are explained. The document also proposes a workflow for using Git that incorporates features, develop, master, and hotfix branches.
2. Summary
• SCM, VCS Terminology
• SCM Models
• History
• Git Specs
• Branching
• Merging
• Rebasing
• Github
• Git as Workflow Generator
• Proposed Workflow for B3C
November 2011 Presentation B3C
3. SMC, VCS Terminology
• SMC -> Source Control Management
• VCS -> Version Control System
• CVS -> Concurrent Version System
(App)
• SVN -> Subversion (App)
• Git -> is Git! (App)
November 2011 Presentation B3C
4. Let’s dive into Git!
no git user git user
November 2011 Presentation B3C
5. SCM Models
• Local Control Version Systems
• Centrilized Control Version Systems
• Distributed Control Version Systems
November 2011 Presentation B3C
7. Local Control Version Systems
• A directory in your filesystem!
• A database
• SCCS (1972)
• RCS Revision Control System (1982)
• PVCS (1985)
November 2011 Presentation B3C
15. Characteristics
• Speed
• Simple design
• Strong support for non-linear development
(thousands of parallel branches)
• Fully distributed
• Able to handle large projects
• Portable
Look at http://whygitisbetterthanx.com
November 2011 Presentation B3C
42. Git as Workflow Generator
• Git has access policies for the repositories
• Easy creation of branches
=> Creation of a Workflow
November 2011 Presentation B3C