I made this as an attempt to familiarise my team members with the concept of a version control system. Their are not many commands and technical details. My goal was to sell them on the point that it is an effective and easy to use collaboration tool - and is just so darn cool!
3. Agenda
• What is “Version”
• The “Pain”
• The “Aspirin” – a VCS
• What’s in the box ?
• Ok..! But how do I use it ?
• Conclusion
4. What is “Version” ?
“Difference of contents of a file at two different times”
Different content, Different version
5. The “Pain”
• No way of knowing which lines of code have changed
since last hour ?
• Who changed the code and why ?
• How do I get the old code back ? Delete all the newly
added lines manually ?
6. …and a bit more “Pain”
• The inconvenience of sending files through Emails,
Dropbox, blah blah blah…
• Want to add an experimental feature?
Code base at risk!
• No issue tracking; “Yaar masla to tha kahiN… par yaad
ni arha!”
7. The “Aspirin”
Q: What is a VCS?
A: Simply, a system that solves above problems and more.
Q: Ok, I need VCS. But ermm… Which one?
A: GitHub FTW!
Q: Now what is GitHub?
A: VCS platform based on Git, excellent for
social coding.
Q: Umm... What is “Git”? OTL
A: Glad you asked! Git is the best VCS. It has a
CLI, and was created by Linus Torvalds . I am just that awesome
8. “Read instructions before use”
• How it works ?
• “Ray-pozi-tory”?
Repository = Your Files
+ Project Version History
+ Git Data
9. How does it help me ?
• See exactly “what” was changed and “where”.
10. How does it help me?
• Know who changed what, and why ?
• Revert to older code base? Easy!
Just ‘Pull in’ the older commit! One click!
Tight Integration with IDEs. (not Turbo C of course)
11. How does it help me?
• “One Click to Update them all!” no need sending files
• Want to add a feature? Use branching.
• Code is separate until you merge!
12. How does it help me?
• Fantastic Issue tracking
• Comments attached to code lines