Version control Using Git 1Version control, using Git.

Slides:



Advertisements
Similar presentations
Software engineering tools for web development Jim Briggs 1CASE.
Advertisements

Version Control 1.  Version control (or revision control) is the term for the management of source files, and all of the intermediate stages as development.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
Source Control in MATLAB A tool for tracking changes in software development projects. Stuart Nelis & Rachel Sheldon.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
1 CMPT 275 Software Engineering Revision Control.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
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 for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Source Control Repositories for Team Collaboration: SVN, TFS, Git Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University
Git – versioning and managing your software L. Grewe.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Version control Using Git Version control, using Git1.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
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.
Version Control Systems with Subversion (SVN) and Tortoise.
Distributed Version Control Systems (or Version Control for Hipsters) Rob Gaston, web developer Farallon Geographics, Inc. SF Department of Technology.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
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.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
Version Control System Lisa Palathingal 03/04/2015.
GIT.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
CS 160 and CMPE/SE 131 Software Engineering February 16 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
CS102 Basic Computer Science and Programming Assoc. Prof. Jens Allmer Teaching Assistants: Canan Has, Caner Bağcı.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
Jun-Ru Chang Introduction GIT Jun-Ru Chang
Software Configuration Management -Subversion- RTLAB YuJin Park.
Version Control Systems
CS5220 Advanced Topics in Web Programming Version Control with Git
Source Control Systems
Information Systems and Network Engineering Laboratory II
Source Control Systems
Version Control Systems
Version Control CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Git and GitHub primer.
LECTURE 2: Software Configuration Management
Source Control Dr. Scott Schaefer.
Version Control CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Version control, using Git
CS5220 Advanced Topics in Web Programming Version Control with Git
Version Control System using Git
Development and Deployment
Version Control Systems
Storing, Sending, and Tracking Files Recitation 2
Concurrent Version Control
Source Code Management
LECTURE 3: Software Configuration Management
The Big Picture
Getting Started with Git and Bitbucket
Part 1: Editing and Publishing Files
GitHub and Git.
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Systems Analysis and Design I
Version Control with Git
Git GitHub.
Presentation transcript:

Version control Using Git 1Version control, using Git

What is version control? Management of changes to documents over time – Text documents in general – Program source code and documentation Simple version control – Multiple copies of the files labeled with (revision) numbers or dates (timestamp) – Requires discipline from the programmers Other names – Revision control – Source control – Version management system 2Version control, using Git

Graph structure Revision – After a change there is a new revision of the documents Trunk – The main development line Branch – Work on a copy of the documents – Check out forms a new branch Merge – Branch is merged with the original documents. – Done at check in – Concurrency problems may require manual intervention Tag / baseline / label – Snapshot of the documents HEAD / tip – The latest revision Source 3Version control, using Git

Version control: Some important concepts Repository – The documents are kept in a repository – Repository can be either central or distributed Check out – To modify the documents you must check out the documents from the repository. – You get a local copy, called ”working copy” Check in / commit – After modification you must check in the documents. – Files may be locked from check out to check in Otherwise there might be concurrency problems 4Version control, using Git

Check in and check out from repository Figure from Sommerville Software Engineering, 9th edition, page 692 5Version control, using Git

Some version control systems Subversion from Apache Mercurial Git – Git is a distributed version control system – Pronounced ”get”. – Started by Linus Torvalds (Linux), 2005 – Git can be used from NetBeans And other development environments Version control, using Git6

Git in NetBeans Git is integrated in to NetBeans since version 7.1 – Before this time there was a Git plugin for NetBeans NetBeans: Git User Guide – – An exercise trying the guide. 7Version control, using Git

Working with a remote Git repository Multiple users can share a remote Git repository 1.Clone (copy) the project from the remote repository to a local repository 2.Work + commit to the local repository 3.Fetch the original project from the remote server, into another branch in the local repository 4.Merge the 2 branches in the local repository 1.Merge happens on the local computer, not remotely 5.Push the project from the local repository to the remote repository There are other (more advanced) ways to work using a remote Git repository Version control, using Git8

Working with a remote Git repository Version control, using Git9 Source

Working with a remote repository Figure from Version control, using Git10

Hosting a remote repository A remote Git repository must be hosted on a Git repository server – – Alternatively you can setup your own Git repository server Version control, using Git11

GitHub, a few hints Make sure you use the HTTP URL Read+Write access – Not the Read-only URL – git://github.com/andersbor/myfirst.git Restrictions + collaborators – In the tab ”Settings” you can ”Restrict edits to Collaborators only”. – You must then explicitly invite collaborators Version control, using Git12

Versions control as part of configuration management Configuration management of software systems involves four activities – Change management Keep track of request for changes from customers and developers – Version management Keeping track of multiple version of system components – System Building Process of assembling program components into an executable system – Release Management Preparing software for external release, and keeping tack of system versions released for customer use – Source: Sommerville Software Engineering, 9 th edition, Pearson 2011 Chapter 25 Configuration Management, page Version control, using Git

Configuration and change management in Unified Process (UP) Configuration and Change Management is a discipline in Unified Process (UP) Figure from 14Version control, using Git

References Wikipedia Revision control – Git, fast version control Wikipedia Git – NetBeans Git User Guide – – Ian Sommerville Software Engineering, 9 th edition, Pearson 2011 Chapter 25 Configuration Management, page Version control, using Git