Version Control.

Slides:



Advertisements
Similar presentations
Week 2 DUE This Week: Safety Form and Model Release DUE Next Week: Project Timelines and Website Notebooks Lab Access SharePoint Usage Subversion Software.
Advertisements

Version Control System (Sub)Version Control (SVN).
Software Configuration Management Donna Albino LIS489, December 3, 2014.
1 Using Subversion: Nirav Dave Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology.
SOFTWARE REVISION CONTROL WITH SUBVERSION Evan Dickinson & Andy Huang – 9 March 2011.
Source Control in MATLAB A tool for tracking changes in software development projects. Stuart Nelis & Rachel Sheldon.
LECTURE 13 OCT 18, 2010 A different take on more scripting stuff;& version control.
Using subversion COMP 2400 Prof. Chris GauthierDickey.
Version Control Systems Phil Pratt-Szeliga Fall 2010.
30-Jun-15 Getting Ready for CIT Labs Lab is scheduled for 1:30-3:00 Fridays in Moore 207 Lab is not in Towne 313 (Registrar has it wrong) Everyone.
CODING Research Data Management. Research Data Management Coding When writing software or analytical code it is important that others and your future.
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Git A distributed version control system 23-Aug-15.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Pointers to more effective software & data in audio research Mark D Plumbley, Chris Cannam, Steve Welburn Centre for Digital Music Queen Mary, University.
Chapter - 2 What is “GIT” VERSION CONTROL AND GIT BASICS.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
Version Control with Subversion Quick Reference of Subversion.
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Peter Ogden and Josh Levine.  Motivation  High level overview  Walk through the common operations  How not to break things (too badly)
Git – versioning and managing your software L. Grewe.
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Drexel University Software Engineering Research Group Git for SE101 1.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
(Sub)Version Control. 2 Keep large teams working on the same code Back up your work so you don't lose it all Compare changes to previous versions Revert.
Subversion in the Sur lab A tool for organizing and sharing analysis code.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Introduction to Version Control with Git CSC/ECE 517, Fall 2014 A joint project of the CSC/ECE 517 staff, including Titus Barik, Gaurav Tungatkar, Govind.
Is when you say something but it means something else.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
Version Control Reducing risk with version control Jon Austin
A Simple Introduction to Git: a distributed version-control system CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.5 © Mitchell Wand, This.
P51UST: Unix and SoftwareTools Unix and Software Tools (P51UST) Version Control Systems Ruibin Bai (Room AB326) Division of Computer Science The University.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
SECTION 1: CODE REASONING + VERSION CONTROL slides borrowed and adapted from Alex Mariakis and CSE 390a Justin Bare & Deric Pang.
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 16 – Version control and git.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
Collaborative Git An introduction to Git with others
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Information Systems and Network Engineering Laboratory II
Discussion #11 11/21/16.
LabVIEW User Group Meeting
Version Control with Subversion
A Simple Introduction to Git: a distributed version-control system
Git Practice walkthrough.
Source Control Dr. Scott Schaefer.
Discussion 11 Final Project / Git.
CS5220 Advanced Topics in Web Programming Version Control with Git
CISC/CMPE320 - Prof. McLeod
Software Engineering for Data Scientists
Version Control System
Introduction to Configuration Management
SECTION 1: CODE REASONING + VERSION CONTROL
Git Best Practices Jay Patel Git Best Practices.
GitHub A Tool for software collaboration James Skon
Git started with git: 2018 edition
Version Control with Git and GitHub
Systems Analysis and Design I
Presentation transcript:

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 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

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?

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?

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

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