Tools for software development:

Similar documents
Version Control. Version Control

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019

Revision control. INF5750/ Lecture 2 (Part I)

A BASIC UNDERSTANDING OF VERSION CONTROL

CS 320 Introduction to Software Engineering Spring February 06, 2017

Version Control Systems (VCS)

Version control CSE 403

Git, the magical version control

February 2 nd Jean Parpaillon

Version control CSE 403

Version Control. Version Control

GIT Princípy tvorby softvéru, FMFI UK Jana Kostičová,

Version control CSE 403

Git tutorial. Katie Osterried C2SM. October 22, 2015

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

Computer Science Design I Version Control with Git

Project Management. Overview

Version Control with Git

Version Control System - Git. zswu

Source Code Management wih git

Index. Alias syntax, 31 Author and commit attributes, 334

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM)

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

Git for Subversion users

Using git to download and update BOUT++

Version Control Systems

Version Control Systems. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Revision Control and GIT

FEEG Applied Programming 3 - Version Control and Git II

Git for Newbies. ComMouse Dongyue Studio

Version Control with Git

Introduction to Revision Control

Object Oriented Programming. Week 1 Part 2 Git and egit

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Revision Control. How can 4. Slides #4 CMPT 276 Dr. B. Fraser. Local Topology Simplified. Git Basics. Revision Control:

Version Control Systems

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy

Version Control System GIT

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

Use git rm to remove files from workspace

! #Running this command from the top directory of your project will add all your changes."! $ git add."

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

CS 390 Software Engineering Lecture 5 More Git

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow

Revision control systems (RCS) and. Subversion

Revision Control. An Introduction Using Git 1/15

git commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b

Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna

About SJTUG. SJTU *nix User Group SJTU Joyful Techie User Group


Part I Part 1 Version Control Systems (VCSs)

Assumptions. GIT Commands. OS Commands

Part I Part 1 Version Control Systems (VCSs)

Git. A Distributed Version Control System. Carlos García Campos

Version Control Systems

Versioning with git. Moritz August Git/Bash/Python-Course for MPE. Moritz August Versioning with Git

Introduction to distributed version control with git

Version Control Systems

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Source Code Management

2 Initialize a git repository on your machine, add a README file, commit and push

VSO. Configuration Management

Version Control Systems (Part 1)

Windows. Everywhere else

Software Project (Lecture 4): Git & Github

Common Configuration Management Tasks: How to Do Them with Subversion

Version Control with GIT: an introduction

Computer Labs: Version Control with Subversion

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

Git Basi, workflow e concetti avanzati (pt2)

CSC 2700: Scientific Computing

Fundamentals of Git 1

EECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014

git the SCM system Jan-Simon Möller training.linuxfoundation.org

Push up your code next generation version control with (E)Git

Revision control Advanced git

Software Engineering

Tizen/Artik IoT Practice Part 4 Open Source Development

AIS Grid School 2015

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48

Review Version Control Concepts

Revision Control. Software Engineering SS 2007

Git. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

git Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command:

Git. Presenter: Haotao (Eric) Lai Contact:

Software Tools Subversion

Basic git. Interactive.

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Apache Subversion Tutorial

Software configuration management

Storage Manager. Summary. Panel access. Modified by on 10-Jan-2014

GIT. CS 490MT/5555, Spring 2017, Yongjie Zheng

b. Developing multiple versions of a software project in parallel

Praktische Aspekte der Informatik

Version Control with GIT

Introduction to Version Control

Working with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47

TDDC88 Lab 4 Software Configuration Management

Revision Control II. - svn

Transcription:

Tools for software development: Version Control System Source Control Management Repository commit An introduction push Data Processing Course, V. Lafage, IPN Orsay V. Lafage @ Data Processing Course 2019 1

Versioning a source code Problems of code management in a project The life of the project can be lengthy: need to manage the development history Change of architecture Change of people involved in the development Working in parallel on several versions Maintenance of an old version in parallel with the current version Test of new functionality without an impact to the current version Being able to easily spread change from one version to another Several people involved at the same time in development Working simultaneously on the same code Detect and help to resolve conflicts V. Lafage @ Data Processing Course 2019 2

Family member of Version Control System (VCS) Or Source Control Management (SCM) CVS (Concurrent Versions System) is one of the oldest open source one Subversion (svn) covers the main concepts while modernising Git extends the idea to DVCS: Distributed VCS moving from one central repository to each working area is a repository text and binary, language neutral not «configuration management»: versioning of code only, not of compiler, not of library, not of the system spell it /ˈɡɪt/ with a hard ɡ V. Lafage @ Data Processing Course 2019 3

Versioning: overall view V. Lafage @ Data Processing Course 2019 5

Versioning: detailled view V. Lafage @ Data Processing Course 2019 6

Subcommands (1) Fetches a remote repository from a remote server and save it to local folder git clone https://vincent.lafage@gitlab.in2p3.fr/ MasterNuclearEnergy_2017/JustTest.git Creates an empty local repository git init Update your copy of repository with the version on remote server git pull V. Lafage @ Data Processing Course 2019 7

Subcommands (2) Add a new file under version control or take a modified file into account for the next commit git add file(s) Lets you know the status of the working directory git status [-s] which files have been Modified, Add, Deleted or short-format with the option Look at the change log git log git log -r V. Lafage @ Data Processing Course 2019 8

Versioning in facts: log & revision commit 4accf60a2504749cd7064a6ac5fd6d877ef23119 (HEAD -> master, tag: v4-0, origin/master, origin/head) Author: Ivana Hrivnacova <Ivana.Hrivnacova@cern.ch> Date: Tue Dec 18 18:54:20 2018 +0100 Making version 4.0 commit e714039016f9710385071a7af541ae533d9c43fa Author: Ivana Hrivnacova <Ivana.Hrivnacova@cern.ch> Date: Tue Dec 18 16:59:03 2018 +0100 Improved SetCuts(): Set cuts only to created materials (to avoid warnings with some geometry options) V. Lafage @ Data Processing Course 2019 9

Subcommands (3) Record changes to the repository git commit -m "message" Creates a new revision of the repository containing all the changes: git commit -a -m "message" V. Lafage @ Data Processing Course 2019 10

Subcommands (4) Display the differences between two paths (versions of a file/directory) To display local modifications in a working copy: git diff [-r revision] [ file / directory ] To display differences between 2 revisions of the repository: git diff [r1..r2] file / directory for instance: git diff 4accf60a..e714039 V. Lafage @ Data Processing Course 2019 11

Subcommands (5) Restore working tree files = revert uncommited modifications git checkout -- file(s) Restores version of the last update. The local changes are lost Move or rename a file, a directory, or a symlink git mv file1 file2 Remove files from the working tree and from the index git rm file1 V. Lafage @ Data Processing Course 2019 12

Subcommands (6) Update remote refs along with associated objects git push V. Lafage @ Data Processing Course 2019 13

Documentation Git online Documentation https://git-scm.com/docs The online help git help [command] V. Lafage @ Data Processing Course 2019 14

V. Lafage @ Data Processing Course 2019 15