CS314 Software Engineering Configuration Management

Similar documents
Tutorial 2 GitHub Tutorial

Git tutorial. Katie Osterried C2SM. October 22, 2015

Object Oriented Programming. Week 1 Part 2 Git and egit

Git Introduction CS 400. February 11, 2018

Visualizing Git Workflows. A visual guide to 539 workflows

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015

Managing Projects with Git

Tizen/Artik IoT Practice Part 4 Open Source Development

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

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

CS 390 Software Engineering Lecture 3 Configuration Management

Version Control. Version Control

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

Version Control. Version Control

Git(Lab) Tutorial and Hands-On

Software Revision Control for MASS. Git Installation / Configuration / Use

(Cloud9) and to the Remote Repository (GitHub)

Use git rm to remove files from workspace

Software Development I

Distributed Version Control


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

Version Control System GIT

GETTING TO KNOW GIT: PART II JUSTIN ELLIOTT PENN STATE UNIVERSITY

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017

Revision control. INF5750/ Lecture 2 (Part I)

Git for Subversion users

Lab 08. Command Line and Git

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub

FEEG Applied Programming 3 - Version Control and Git II

699DR git/github Tutorial

CS 390 Software Engineering Lecture 5 More Git

AIS Grid School 2015

FAQ Q: Where/in which branch do I create new code/modify existing code? A: Q: How do I commit new changes? A:

Intro to Github. Jessica Young

Accessing OSIRIS and using OSIRIS through GitHub

Introduction to Git and Github

Lecture 6 Remotes. Sign in on the attendance sheet!

Git, the magical version control

Introduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018

Version Control with GIT

Tips on how to set up a GitHub account:

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

CP215 Application Design

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.

Git. Presenter: Haotao (Eric) Lai Contact:

Git & Github Fundamental by Rajesh Kumar.

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

L Modeling and Simulating Social Systems with MATLAB

Revision Control and GIT

Introduction to Git and Github Repositories

Version Control: Gitting Started

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

Version control CSE 403

The Rock branching strategy is based on the Git Branching Model documented by Vincent Driessen.

Github/Git Primer. Tyler Hague

CS 320 Introduction to Software Engineering Spring February 06, 2017

Getting the Source Code

Review Version Control Concepts

Git for Version Control

A BASIC UNDERSTANDING OF VERSION CONTROL

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

GIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson

Lesson 7: Recipe Display Application Setup Workspace

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

Version Control with Git ME 461 Fall 2018

b. Developing multiple versions of a software project in parallel

MOOSE-Based Application Development on GitLab

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

Managing Network Configurations with Git and GitLab

Code Repository. P Blanchfield

Version control with Git.

Beyond git add/commit/push

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

Sign in on the attendance sheet! Lecture 3 Branches

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

Software Project (Lecture 4): Git & Github

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU

Using Git to Manage Source RTL

CS Homework 8. Deadline. Purpose. Problem 1. Problem 2. CS Homework 8 p. 1

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP

Version Control System - Git. zswu

Online Remote Repositories

Source Code Management wih git

Software Revision Control for MASS. Git Basics, Best Practices

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

USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY

KTH Royal Institute of Technology SEMINAR 2-29 March Simone Stefani -

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

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

License. Introduction to Version Control with Git. Local Version Control Systems. Why Use Version Control?

How to version control like a pro: a roadmap to your reproducible & collaborative research

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

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

Software Development. Using GIT. Pr. Olivier Gruber. Laboratoire d'informatique de Grenoble Université de Grenoble-Alpes

Introduction to Version Control with Git

Version control CSE 403

Django MFA Documentation

VCS VERSION CONTROL SYSTEMS

CS 261 Recitation 1 Compiling C on UNIX

Transcription:

CS314 Software Engineering Configuration Management Dave Matthews Configuration Management Management of an evolving system in a controlled way. Version control tracks component changes as they happen. System Building assembles components for testing and release. Frequently is better. Change Management addresses stakeholder proposals. Release Management plans and prepares for distribution. 1

Version Management Two models Centralized master repository maintains all versions (SVN) Distributed multiple copies exist at the same time (Git) Features of both Version and release identification Change history recording Independent Development Project Support Storage Management Distributed Model Benefits A backup mechanism for the master repository. Allows developers to work offline commit changes without a network connection Developers can compile and test locally. 2

System Building Build script generation (configuration file) Build system integration with version control system Minimal recompilation (what changed or affected) Executable system creation Test automation (check build not broken by changes) Report success or failure of build and test Documentation (release notes) automatically generated Change Management Ensure changes are applied in a controlled way. requirements, bugs, Consider factors in decisions to changes Consequences Benefits Number of users affected Cost Product release cycle 3

Release Management Plan the release Prepare the system for release Configuration files Data files Installation program Electronic and paper documentation Packaging and associated publicity Document the release GitHub / Git https://github.com https://help.github.com/ 4

GitHub/ Git GitHub (server) On the internet, holds the master repo, issues, releases, Code on master should always build/test/run with no problems No changes are made directly in master Proposed changes are reviewed, approved, then merged Git (client) On a remote/local machine Holds a clone of the master Changes made in branches pushed back to the GitHub master and merged via a pull request Using GitHub and Git GitHub Select, estimate, and assign a pending issue issue. Git Refresh (pull) or clone repo if needed. Create and checkout a new local branch in your repo clone. Git Modify and add files and directories in the repo. Build and test before you commit. Git Add your changes to the branch. Commit the branch with the #issue. Push branch to master. GitHub Open a pull request for the commit for review by others. GitHub Address any merge conflicts or comments. Merge the pull request and confirm. https://guides.github.com/ 5

Git Commands - local setup # install git on your local system # configure git username, email git config --global user.name [firstname lastname] git config --global user.email [valid-email] # clone your team repo or the class repo git clone [masterurl] https://education.github.com/git-cheat-sheet-education.pdf Git Commands - start a new branch # update your local copy before you start git pull origin master # start a new branch git branch [newbranchname] git checkout [newbranchname] # never master! # on a single line git checkout b [newbranchname] # verify the branch just to be sure, never master git branch https://education.github.com/git-cheat-sheet-education.pdf 6

Git Commands - commit and push # create, edit, rename, move, or delete files under.. # build and test to verify changes work git add. # add all changes to branch git status # verify proposed changes are listed git commit m closes #999 # associate with task 999 git push origin [branchname] https://education.github.com/git-cheat-sheet-education.pdf Git Commands - merge conflicts # find files with merge conflicts on your local repo git status # edit files to resolve the conflicts between # <<<<<<< HEAD and >>>>>>> BRANCH-NAME # re build and test git add. git commit m resolved merge conflict git push origin [branchname] https://education.github.com/git-cheat-sheet-education.pdf 7

GitHub Etiquette No changes made directly to master branch, never checkout master. All changes made in local/separate branches and merged via pull requests. All pull requests associated with an issue. Never break master. It should always build/test/run successfully. https://guides.github.com/activities/contributing-to-open-source/ Canvas - Brews README.md Update team page in repo team/eid/readme.md Add your individual page to the repo Brews Add a brewery to the tour Use proper GitHub etiquette When done correctly 1 addition and 0 deletions May need to merge conflicts 8