100%(1)1 out of 1 people found this document helpful
This preview shows page 1 - 4 out of 9 pages.
2/13/20191Version ControlCS440 –Introduction to Software EngineeringJohn BellBased on slides prepared by Jason Leigh for CS 340University of Illinois at ChicagoVersion Control•Incredibly important when working in teams, or whenever multiple versions of a project need to be retained, recovered, and generally managed.•Many tools for this: Revision Control System (RCS), Subversion (SVN), CVS, GITetc.–“Version Control with Git”, Loeliger & McCullough, O’Reilly, 2ndEdition, 2012.–n_control_software–Pro Git online book: –All CS 440 project teams will use git from a CS server: marvin.cs.uic.edu
2/13/20192How Previous Version Control Systems Worked•E.g. SVN, Perforce, CVS•Create a central repository for holding code.•Upload initial codes to repository.•Checkoutcodes to either read or modify.•Edit codes.•Commit edits to the repository. ( Check in )•Multiple users can checkout codes for reading, but only one at a time can checkout for editing.How Git Works•Git is a distributed system. When you work on code as part of a group, you CLONE a remote repository.•Git can also be used as a local repository system, for a single developer to archive multiple versions of a project.•When you commit your changes you do not need to be networked to the repository server. You can push your updates later. I.e. you work with your local repository.•Git has the notion of staging areas that are used to mark files that will get committed. This is really just the list of files that are monitored by git as part of a project.•If you modify a file but do not stage it, it will not get committed. I.e. not all files in working directory are in git•Git makes it very easy to create and switch code branches so you experiment with code ideas without damaging the main branch.