informal intro.to version control systems
TRANSCRIPT
Version Control Systems
Effective Collaboration for Software Developers
By : Muhammad Yaseen
Motivation
Scott Hanselman(www.hanselman.com)
“There are a finite number of keystrokes left in your hands
before you die”
Agenda
• What is “Version”
• The “Pain”
• The “Aspirin” – a VCS
• What’s in the box ?
• Ok..! But how do I use it ?
• Conclusion
What is “Version” ?
“Difference of contents of a file at two different times”
Different content, Different version
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 ?
…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 yaadni arha!”
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”? OTLA: Glad you asked! Git is the best VCS. It has a
CLI, and was created by Linus Torvalds . I am just that awesome
“Read instructions before use”
• How it works ?
• “Ray-pozi-tory”?Repository = Your Files
+ Project Version History+ Git Data
How does it help me ?
• See exactly “what” was changed and “where”.
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)
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!
How does it help me?• Fantastic Issue tracking
• Comments attached to code lines
How does it help me?
• Comment on issues
Conclusion• VCS is a tool; use it wisely
• Get a hang of it, it’s great!
• Happy Coding and Committing
Thank You!