informal intro.to version control systems

14
Version Control Systems Effective Collaboration for Software Developers By : Muhammad Yaseen

Upload: muhammad-yaseen-aftab

Post on 11-Jan-2017

43 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Informal intro.to Version Control Systems

Version Control Systems

Effective Collaboration for Software Developers

By : Muhammad Yaseen

Page 2: Informal intro.to Version Control Systems

Motivation

Scott Hanselman(www.hanselman.com)

“There are a finite number of keystrokes left in your hands

before you die”

Page 3: Informal intro.to Version Control Systems

Agenda

• What is “Version”

• The “Pain”

• The “Aspirin” – a VCS

• What’s in the box ?

• Ok..! But how do I use it ?

• Conclusion

Page 4: Informal intro.to Version Control Systems

What is “Version” ?

“Difference of contents of a file at two different times”

Different content, Different version

Page 5: Informal intro.to Version Control Systems

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 ?

Page 6: Informal intro.to Version Control Systems

…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!”

Page 7: Informal intro.to Version Control Systems

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

Page 8: Informal intro.to Version Control Systems

“Read instructions before use”

• How it works ?

• “Ray-pozi-tory”?Repository = Your Files

+ Project Version History+ Git Data

Page 9: Informal intro.to Version Control Systems

How does it help me ?

• See exactly “what” was changed and “where”.

Page 10: Informal intro.to Version Control Systems

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)

Page 11: Informal intro.to Version Control Systems

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!

Page 12: Informal intro.to Version Control Systems

How does it help me?• Fantastic Issue tracking

• Comments attached to code lines

Page 13: Informal intro.to Version Control Systems

How does it help me?

• Comment on issues

Page 14: Informal intro.to Version Control Systems

Conclusion• VCS is a tool; use it wisely

• Get a hang of it, it’s great!

• Happy Coding and Committing

Thank You!