1 / 6

Version Control

Version Control. What does version control mean?. A version control system is a software tool designed to help keep track of changes made to files A version control system tracks the history of your files A version control system helps you collaborate on changes

padma
Télécharger la présentation

Version Control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Version Control

  2. What does version control mean? • A version control system is a software tool designed to help keep track of changes made to files • A version control system tracks the historyof your files • A version control system helps you collaborate on changes • These two qualities make them really useful, as we'll see • Popular systems include Subversion, git, and Mercurial • They have their differences, but much in common too

  3. Keeping track of history • You're working on software to process experimental data for publication. • You find to your horror that a change you made yesterday has rendered all the values for a particular result gibberish. How do you get the previous day's code back? • It turns out the previous version is also broken! You must have broken it during the last fortnight, but you don't know when. How can you find out what went wrong? • Someone asks for a copy of the software used for that Institute of Scientists journal paper last May. It's changed a lot since then! What do you say?

  4. Collaborating on changes • You're the only one working on your code, but you need to run it both on your laptop at home and the server in the lab... • How do you make sure the code is the same on both? • You're working on code or a paper with a colleague... • How do you find out when they change something? • You both make fixes in the same file. How do you merge them without risking losing work? • How can you find out which of you introduced a bug, and when?

  5. Version control helps with this • A version control system helps with all of those problems • You do have to work a bit: • You need to tell it which files you care about • You need to tell it when you've changed something • If two people make conflicting changes, you have to resolve them • ... but it's much easier than trying to do this by hand

  6. Version control terminology • A repository holds the complete history of your project: every version of every file • A working copy is the project as you're working on it now: just the current version of each file • You can update your working copy, replacing its files with newer (or older!) versions from the repository • A repository can be local, on your computer's hard disc, or remote, on a server somewhere else • You can push or pull between repositories of the same project, to keep their changes in sync

More Related