In this short presentation we discuss about version control in general and the main differences between centralized and distributed version control. We explain the key git concepts including branching, repositories and commits.
4. What is version control?
• A system that keeps changes to files over time
• Allows collaboration
• View WHAT has been changed
• View WHO has made the changes
• Undoing
• Revert to prior version
5. What about file copies?
• Multiple directories
• Who made what? hmm?
• Sync
• Compare
7. Centralized Version Control
• Everything is stored on a server.
• Checkout -> Edit -> Commit
• Linear development by design
• TFS (<2013), SVN, Perforce, SourceSafe (legendary)
8. Centralized Version Control
Pros
• Monitoring
• Administration
• Avoid conflicts by design
• Easy to understand
Cons
• Single User Editing
• Single Point of Failure
• Requires Connectivity
• Repository on Server
11. Distributed Version Control
Pros
• Repository mirror
• Multiple workflows
• Non linear development
• Peers
• Edit the same files
• Working alone - offline
Cons
• Difficult to master