Revision control. INF5750/ Lecture 2 (Part I)
|
|
- Robert Patrick
- 6 years ago
- Views:
Transcription
1 Revision control INF5750/ Lecture 2 (Part I)
2 Problem area Software projects with multiple developers need to coordinate and synchronize the source code
3 Approaches to version control Work on same computer and take turns coding Nah... Send files by or put them online Lots of manual work Put files on a shared disk Files get overwritten or deleted and work is lost, lots of direct coordination In short: Error prone and inefficient
4 The preferred solution Use a revision control system. RCS - software that allows for multiple developers to work on the same codebase in a coordinated fashion History of Revision Control Systems: File versioning tools, e.g. SCCS, RCS Central Style - tree versioning tools. e.g. CVS Central Style 2 - tree versioning tools e.g. SVN Distributed style - tree versioning tools e.g. Bazaar Modern DVCS include Git, Mercurial, Bazaar
5 Which system in this course? In this course we will be using GIT as the version control system We will use the UIO git system, but you can also make git accounts on github.com or bitbucket for your own projects DHIS2 uses a different system: Launchpad/Bazaar
6 How it works Repository: Central storage of the source code at a server Working tree: Local copy of the source code residing on the developer s computer (a client) synchronize synchronize Commit Commit locally Centralized De-centralized
7 The repository Remembers every change ever written to it (called commits) You can have a central or local repository. Central = big server in cloud Local = on your harddisk Clients can check out an independent, private copy of the filesystem called a working tree Central Local
8 Working tree Ordinary directory tree Root directory has a hidden administrative.git directory, containing your local repository Changes are not incorporated or published until you tell it to do so
9 Revisions Every commit creates a new revision, which is identified by a unique commit id A commit identifier (revision) refers to a specific state of a branch s history forms a revision history Every revision can be checked out Can roll back current revision
10 Master and Branches Master is the original main line of development (also a branch, just called trunk/master for historical reasons) A branch is a copy of master which exists independently and is maintained separately Useful in several situations: Large modifications which takes long time and affects other parts of the system (safety, flexibility, transparency) Different versions for production and development Customised versions for different requirements Branch 1 Branch 3 master Branch 2
11 Conflicts Arises if several developers edit the same part of a file Git will try to auto-merge If not, you have to resolve conflicts manually 1) Developer A makes a change to Code.java and commits 4) Developer B edits and resolves the conflicts, and commits the file back in the repository 2) Developer B makes a change to Code.java and tries to commit, but gets an out-of-date warning. 3) Developer B updates his working copy. He will be noticed that Code. java is in a state of conflict.
12 Advantages of Revision Control Systems (RCS) Concurrent development by multiple developers Possible to roll-back to earlier versions if development reaches a dead-end Allows for multiple versions (branches) of a system Logs useful for finding bugs and monitoring the development process Works as back-up
13 Good practises Update, build, test, then commit Do not break the checked in copy Update out of habit before you start editing Reduce your risk for integration problems Commit often Reduce others risk for integration problems Check changes (diff) before committing Don t commit unwanted code in the repo
14 What to add to the repository Source code including tests Resources like configuration files What not to add: Compiled classes / binaries (target folder) IDE project files Third party libraries Add sources, not products (generated files)! Use a.gitignore file to tell Git which files to ignore
15 Git Intro There are a number of Git service providers: github.com and bitbucket.com are some examples Git is a distributed repository system. You have your own full copy of the repository on your disk. Read this: com/book/en/getting-started-git-basics
16 Only changed files are checked in
17 Files can exist in 3 states This repository is typically your local repository. You then push the local repository to the remote repository.
18 Set up GIT Install GIT on your computer Then set it up to know who you are $ git config --global user.name "John Doe" $ git config --global user. johndoe@uio.no Get some help $ git help <verb> Create an SSH key and post the public part to the web form in assignment 1
19 Creating an SSH key As soon as possible, generate an SSH private key, and submit the public part of this using the following form: bz/forms/d/1bfhtcv_eyogpyqji2drtiy_lf1lkpbvumifjcx8c 20Q/viewform More information on how to generate a public/private key pair can be found here: Keep the private part of your SSH key private and safe. It will be used to log into the UIO git service. If you re using Windows, use git-bash in git-for-windows as your terminal.
20 Creating a repository locally You can create a local repository without linking to an external repository. $ git init $ git add *.c $ git add README $ git commit -m 'initial project version' Link to external repository $ git remote add origin <remote location> $ git fetch origin
21 Adding files to existing repository Create a new online repository by cloning a non-existing one. It will be created 4 u. $ git clone gitolite@git.uio.no:inf5750/user/repo (if files already exist on your disk, you need to run git init and git fetch instead. See assignment 1) Then add files to the local repository and commit into local repository $ git add existing_file.c $ git add another_existing.c $ git commit -m 'Some files' $ git status
22 File life cycle
23 Pushing your code to the central repository
24 Remote locations Cloning a central repository into your rep $ git clone <git-address> Pulling changes and merge from the central repository into your rep $ git pull origin master (get data-fetch & merge) Pushing your changes into the central repository $ git push origin master (push local repository to original online rep)
25 Remote locations reference $ git clone git://github.com/schacon/ticgit.git $ git remote -v $ git fetch [remote-name] (fetches data from repository, no merge) $ git fetch origin (fetch data from original cloned rep, but no merge) $ git pull origin master (fetches data AND merges) $ git push [remote-name] [branch-name] $ git push origin master (push local repository to original online rep) $ git remote show origin
26 Tags You can use tags to mark specific versions of the code. List tags: $ git tag Creating a tag $ git tag -a v1.4 -m 'my version 1.4' Showing tag info $ git show v1.4 Push tag to central rep (tag names are not pushed by default) $ git push origin v1.5
27 Some useful commands $ git log $ git status $ git mv <file> <file> (moving a file) $ git rm <file> (rmoving a file from the repository) $ git commit --amend (adding some more files to a commit) $ git reset HEAD <file> (unstage a file) $ git checkout -- <file> (revert a file - bring back the repository copy)
28 Branching A branch is a separate thread of code you can work on in parallel Create a branch (you ll still be working on the old branch) $ git branch <branchname> Selecting a branch $ git checkout <branchname> Merging branch1 into the branch you are in now $ git merge <branch1>
29 Pull requests For many open source projects, new developers will not have push access. You need to create a branch where you place your revised code, put this on a central repository and send the link of this branch to the open source project. They will review your code (by pulling it into their local repository) and merge it into the main code-base if they find it useful etc.
30 UIO s git server For more info on UIO s git server, check out no/tjenester/it/maskin/filer/versjonskontroll/gi t-wild.html (Norwegian) Read up on permissions (how to make available on web or to another user). Those especially interested can also read:
31 Ignoring files Create a.gitignore file *.class # Package Files # *.jar *.war *.ear
32 References
33 Bazaar The following slides are kept for reference if you need to access the DHIS2 system using the Bazaar/Launchpad RCS system. The course sticks to using Git as much as possible, because this is now more common for open source projects. Bazaar is also a good system, but has some quirks that students have struggled with in the past.
34 Work cycle (Centralized way) Initial check out: The developer checks out the source code from the repository 1) Development: The developer makes changes to the working copy 2) Update: The developer receives changes made by other developers and synchronizes his local working copy with the repository Resolve conflicts: When a developer has made local changes that won t merge nicely with other changes, conflicts must be manually resolved 3) Commit: The developer makes changes and writes or merges them back into the repository
35 Repository Example remote repository locations: lp:~<user>/<project>/<branch-name> lp:~<user>/dhis2-academy/<branch-name> lp:~<user>/+junk/<branch-name>
36 Starting a new repository $ bzr init lp:~user/dhis2-academy/branch-name $ bzr checkout lp:~user/dhis2-academy/branch-name $ bzr add (adds files) $ bzr commit -m My first files You can also create a remote repository by doing a local bzr init and then a push <remote-repository>, but you should avoid using push, at least until you know what you re doing. bzr push replaces the central repository with your own, so it can erase what is stored centrally. We may cover more use of distributed bazaar repositories later in the course if there is interest.
37 Getting code from an existing repository $ bzr checkout lp:~user/dhis2-academy/branch-name (Edit project. Time passes.) $ bzr add $ bzr update (download any changed files) (resolve conflicts either automatically or manually) $ bzr commit -m Second commit Now your files are in the central repository This is not using the decentralized way to do it Instead of bzr checkout, you could use first bzr branch <repo-url> and then bzr bind <repo-url>.
38 Making changes to a repository Assume that you ve done either bzr checkout <repository> or bzr merge <repository + bzr bind <repository> $ bzr update (it ll try to auto-merge changes) $ bzr add (adds new files) $ bzr commit -m My first files (it may also discover conflicts and give an error message, forcing you to do bzr update and manually look through files and fix marked changes)
39 Decentralized - two ways
40 Bind and unbind if bound to central repository bzr commit Working tree if bound to local repository Local repository $ bzr unbind or after $ branch <repository> Remote repository $ bzr bind <repository> or $ checkout <repository>
41 Working decentralized You can commit locally, if you don t want to upload to the central repository. For example if your project doesn t compile, you should never upload to the central repository. $ bzr commit --local -m Some revisions $ bzr commit --local -m Some more revisions (these will be stored locally) then later $ bzr commit -m Stored centrally In the above example, you are still bound to the central repository, but you are not using it for all commits.
42 Creating your own branch (not bound to central repository) $ bzr branch lp:~user/dhis2-academy/branch-name You are now in distributed mode. If you run bzr commit now, your changes will not be checked into the central repository. This is great for checking out projects that you want to play with, but you are not planning to contribute to immediately. If you want to contribute some of your source-code, you can bind, merge etc Or check out with bzr checkout in a separate directory, merge your changes in there and then update from the new directory.
43 Working decentralized You can unbind from the central repository $ bzr unbind (now you re on your own) edit files $ bzr update $ bzr commit -m My first files (these will be stored locally) $ bzr bind <central repository> $ bzr update $ bzr commit -m Stored centrally
44 Bazaar offline commands Add a file to the working copy: $ bzr add Code.java Delete a file from the working copy: $ bzr remove Code.java Compare working copy with repository on file-level: $ bzr status Compare working copy with repository on code-level: $ bzr diff Revert a file to the state from last commit $ bzr revert Code.java Tell bazaar that you ve manually fixed a failed merge $ bzr resolve Code.java (then do bzr commit afterwards)
45 Summary Revision control systems enable multiple developers to work on the same code base Bazaar uses a client/server system with a repository and working copies Every commit generates a new revision, which can be checked out independently Projects have a main branch, but can have multiple branches
46 Resources com/latest/en/tutorials/using_bazaar_with_laun chpad.html /en/tutorials/tutorial.html
47 Work cycle - Distributed way Several ways to work decentralized Create a local branch - bzr branch Work locally Then pull central changes into your own repository Then merge and push your own repository to the cent or Check out code Do local commits using bzr commit --local Run update to get new changes Commit into central repository Working offline for a long time
Revision control systems (RCS) and. Subversion
Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer
More informationVersion Control. Version Control
Version Control Prepared for CS 342 - Software Design by John Bell Based on slides prepared by Jason Leigh for CS 340 University of Illinois at Chicago Version Control Incredibly important when working
More informationgit commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b
Git Cheat Sheet Git Basics Rewriting Git History git init Create empty Git repo in specified directory. Run with no arguments to initialize the current directory as a git repository. git commit
More informationComputer Science Design I Version Control with Git
Computer Science Design I Version Control with Git Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research Center The University of Kansas annguyen@ittc.ku.edu
More informationA BASIC UNDERSTANDING OF VERSION CONTROL
A BASIC UNDERSTANDING OF VERSION CONTROL DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU
More informationSubmitting your Work using GIT
Submitting your Work using GIT You will be using the git distributed source control system in order to manage and submit your assignments. Why? allows you to take snapshots of your project at safe points
More informationVersion Control: Gitting Started
ting Started Cai Li October 2014 What is Version Control? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Local Version
More informationTools for software development:
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
More informationOutline The three W s Overview of gits structure Using git Final stuff. Git. A fast distributed revision control system
Git A fast distributed revision control system Nils Moschüring PhD Student (LMU) 1 The three W s What? Why? Workflow and nomenclature 2 Overview of gits structure Structure Branches 3 Using git Setting
More informationAssumptions. GIT Commands. OS Commands
Many of the world s largest dev teams have adopted Git and it s not hard to see why It can handle small and large projects easily It has a tiny footprint It outclasses other version control tools It s
More informationTopics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2
Git Git 1 Topics covered Introduction to Git Git workflows Git key concepts Hands on session Branching models Git 2 Introduction to Git Git 3 Version control systems The source files of a project changes
More information2 Initialize a git repository on your machine, add a README file, commit and push
BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal
More informationGit. A fast distributed revision control system. Nils Moschüring PhD Student (LMU)
Git A fast distributed revision control system Nils Moschüring PhD Student (LMU) Nils Moschüring PhD Student (LMU), Git 1 1 The three W s What? Why? Workflow and nomenclature 2 Overview of gits structure
More informationVersion control with Git.
1 Version control with Git http://git-scm.com/book/en/ Basic Intro to Git We will: Discuss how Git differs from Subversion Discuss the basic Git model Pull/clone files from a repository on github Edit
More information[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France
[Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly
More informationVersion Control with GIT
Version Control with GIT Benjamin Roth CIS LMU München Benjamin Roth (CIS LMU München) Version Control with GIT 1 / 30 Version Control Version control [...] is the management of changes to documents, computer
More informationGit for Version Control
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from http://git-scm.com/book/en/ http://www.cs.washington.edu/403/ About
More informationGIT Princípy tvorby softvéru, FMFI UK Jana Kostičová,
GIT Princípy tvorby softvéru, FMFI UK Jana Kostičová, 25.4.2016 Basic features Distributed version control Developed in 2005, originally for Linux kernel development Free, GNU General Public License version
More informationFEEG Applied Programming 3 - Version Control and Git II
FEEG6002 - Applied Programming 3 - Version Control and Git II Richard Boardman, Sam Sinayoko 2016-10-19 Outline Learning outcomes Working with a single repository (review) Working with multiple versions
More informationVersion Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017
Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 11, 2017 1 Scenario 1 You finished the assignment at
More informationCPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management
CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control
More informationIntroduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria 21-Nov-2013 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline General
More informationGit Introduction CS 400. February 11, 2018
Git Introduction CS 400 February 11, 2018 1 Introduction Git is one of the most popular version control system. It is a mature, actively maintained open source project originally developed in 2005 by Linus
More informationRevision Control and GIT
Revision Control and GIT On UD HPC Community Clusters William Totten Network & Systems Services Why use revision control You can go back in time It makes it easy to try things out which might not work
More informationGIT. CS 490MT/5555, Spring 2017, Yongjie Zheng
GIT CS 490MT/5555, Spring 2017, Yongjie Zheng GIT Overview GIT Basics Highlights: snapshot, the three states Working with the Private (Local) Repository Creating a repository and making changes to it Working
More informationRevision Control. An Introduction Using Git 1/15
Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?
More informationVersion Control System GIT
Version Control System GIT Version Contol System Version (revision) control systems are software that help you track changes you make in your code over time. As you edit to your code, you tell the version
More informationTutorial 2 GitHub Tutorial
TCSS 360: Software Development Institute of Technology and Quality Assurance Techniques University of Washington Tacoma Winter 2017 http://faculty.washington.edu/wlloyd/courses/tcss360 Tutorial 2 GitHub
More informationLaboratorio di Programmazione. Prof. Marco Bertini
Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each
More informationVersion Control Systems
Nothing to see here. Everything is under control! September 16, 2015 Change tracking File moving Teamwork Undo! Undo! UNDO!!! What strategies do you use for tracking changes to files? Change tracking File
More informationTDDC88 Lab 4 Software Configuration Management
TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists
More informationLecture 6 Remotes. Sign in on the attendance sheet!
Lecture 6 Remotes Sign in on the attendance sheet! Midterm Review Everyone did great! What We ve Learned So Far Creating and cloning repositories git init, git clone Linear commit histories and diffs git
More informationVersion control CSE 403
Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,
More informationEECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014
EECS 470 Lab 4 Version Control System Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 31 st January, 2014 (University of Michigan) Lab 4:
More informationVersion Control Systems (Part 1)
i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version
More informationGit 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. How do you share and save data? I m working solo and I only have one computer What I
More informationFundamentals of Git 1
Fundamentals of Git 1 Outline History of Git Distributed V.S Centralized Version Control Getting started Branching and Merging Working with remote Summary 2 A Brief History of Git Linus uses BitKeeper
More informationObject Oriented Programming. Week 1 Part 2 Git and egit
Object Oriented Programming Part 2 Git and egit Lecture Review of Git Local Repository Remote Repository Using Git from Eclipse Review of Git 3 What is Git? Software Configuration Management (SCM) Supports
More informationIntroduction to distributed version control with git
Institut für theoretische Physik TU Clausthal 04.03.2013 Inhalt 1 Basics Differences to Subversion Translation of commands 2 Config Create and clone States and workflow Remote repos Branching and merging
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationWhat is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;
What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; Why should I use a VCS? Repositories Types of repositories: Private - only you and the
More informationHow to version control like a pro: a roadmap to your reproducible & collaborative research
How to version control like a pro: a roadmap to your reproducible & collaborative research The material in this tutorial is inspired by & adapted from the Software Carpentry lesson on version control &
More informationGit, the magical version control
Git, the magical version control Git is an open-source version control system (meaning, it s free!) that allows developers to track changes made on their code files throughout the lifetime of a project.
More informationIntroduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018
Introduction to Git Database Systems DataLab, CS, NTHU Spring, 2018 1 Outline Version control system Git basics Git branch Remote repository 2 Outline Version control system Git basics Git branch Remote
More informationBazaar VCS. Concepts and Workflows
Bazaar VCS Concepts and Workflows Paint rollers and brushes If you want to paint, you have a choice of tools, including paint rollers and brushes. If you re painting a portrait, you would use a small brush.
More informationGit 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. How do you share and save data? I m working solo and I only have one computer What I
More informationVersion control CSE 403
Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,
More informationA Brief Introduction to Git. Sylverie Herbert (based on slides by Hautahi Kingi)
A Brief Introduction to Git Sylverie Herbert (based on slides by Hautahi Kingi) Introduction Version control is better than mailing files back and forth because: Nothing that is committed to version control
More informationGit. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes
Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global
More informationGit tutorial. Katie Osterried C2SM. October 22, 2015
Git tutorial Katie Osterried C2SM October 22, 2015 Outline 1 What is Git and why are we switching? 2 Working with Git 3 Branching and Merging 4 Working with remote repositories 5 Recommendations Outline
More informationVersion Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now
A version control system (VCS) is a tool or system for keeping track of changes in files. A primitive form of VCS would be making a copy of a file every time you want to make a new version of the file.
More informationVersion control CSE 403
Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,
More informationGit: Distributed Version Control
Git: Distributed Version Control Computer Science and Engineering College of Engineering The Ohio State University Lecture 3 Demo Prep: Empty (but initialized) repo Linear development: Create, edit, rename,
More informationGit: Distributed Version Control
Git: Distributed Version Control Computer Science and Engineering College of Engineering The Ohio State University Lecture 3 What Does "D" Stand For? Distributed version control Multiple people, distributed
More informationVersion Control. Version Control
Version Control CS440 Introduction to Software Engineering John Bell Based on slides prepared by Jason Leigh for CS 340 University of Illinois at Chicago Version Control Incredibly important when working
More informationIndex. Alias syntax, 31 Author and commit attributes, 334
Index A Alias syntax, 31 Author and commit attributes, 334 B Bare repository, 19 Binary conflict creating conflicting changes, 218 during merging, 219 during rebasing, 221 Branches backup, 140 clone-with-branches
More informationCSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn
CSE 374 Programming Concepts & Tools Hal Perkins Winter 2012 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person, multi-platform, multi-month
More informationVersion Control System - Git. zswu
Version Control System - Git zswu Overview Why VCS? Why Git? Using Git Personally Using Git with Others Etiquette Rules of Using Git Tools & Services Tips 2 Why VCS (1/3) How do you manage your homework?
More informationCSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019
CSCI 2132: Software Development Subversion (and Git) Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Version Control Systems A version control system allows us to Record the history
More informationUSPAS Simulation of Beam and Plasma Systems Steven M. Lund, Jean-Luc Vay, Remi Lehe, Daniel Winklehner and David L. Bruhwiler Lecture: Software Version Control Instructor: David L. Bruhwiler Contributors:
More informationGit. Presenter: Haotao (Eric) Lai Contact:
Git Presenter: Haotao (Eric) Lai Contact: haotao.lai@gmail.com 1 Acknowledge images with white background is from the following link: http://marklodato.github.io/visual-git-guide/index-en.html images with
More informationVersion Control Systems (VCS)
Version Control Systems (VCS) Xianyi Zeng xzeng@utep.edu Department of Mathematical Sciences The University of Texas at El Paso. September 13, 2016. Version Control Systems Let s get the textbook! Online
More informationUsing git to download and update BOUT++
ER Meeting 14th Sept 2015 1/28 Using git to download and update BOUT++ Peter Hill ER Meeting 14th Sept 2015 2/28 Outline What is git? Getting git Basic git usage Getting BOUT++ Compiling BOUT++ Running
More informationCS 378: Autonomous Intelligent Robotics (FRI) Dr. Todd Hester
CS 378: Autonomous Intelligent Robotics (FRI) Dr. Todd Hester Are there any questions? Progress Reports Overall, very good! One that still referenced what they were going to do in progress report Most
More informationCSE 391 Lecture 9. Version control with Git
CSE 391 Lecture 9 Version control with Git slides created by Ruth Anderson & Marty Stepp, images from http://git-scm.com/book/en/ http://www.cs.washington.edu/391/ 1 Problems Working Alone Ever done one
More informationGUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1
GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 WHO AM I? @tushar_rishav GSoC'16 student contributing to coala - a static code analysis tool, under Python So ware Foundation. A senior
More informationVersion Control Systems: Overview
i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version
More informationCS314 Software Engineering Configuration Management
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.
More informationgit 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:
Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command: git --help Get common commands and help git --help How to use git
More informationCommon Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18
Common Git Commands Git Crash Course Teon Banek theongugl@gmail.com April 7, 2016 Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18 Outline 1 Introduction About Git Setup 2 Basic Usage Trees Branches
More informationIngegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna
Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS Davide Rossi Dipartimento di Informatica Università di Bologna Rationale for version control Control the revisions of artifacts
More informationA Brief Git Primer for CS 350
A Brief Git Primer for CS 350 Tyler Szepesi (shamelessly stolen by Ben Cassell) University of Waterloo becassel@uwaterloo.ca September 8, 2017 Overview 1 Introduction 2 One-Time Setup 3 Using Git Git on
More informationgit the SCM system Jan-Simon Möller training.linuxfoundation.org
git the SCM system Jan-Simon Möller training.linuxfoundation.org Topics What is git (what is a SCM) How to install git How to personalize git How to use git for development What is git? What is a SCM System?
More informationImproving Your Life With Git
Improving Your Life With Git Lizzie Lundgren elundgren@seas.harvard.edu Graduate Student Forum 26 April 2018 Scenarios to Avoid My code was deleted from 90-day retention! Crap, I can t remember what I
More informationSoftware Revision Control for MASS. Git Installation / Configuration / Use
Software Revision Control for MASS Git Installation / Configuration / Use Matthew Sell, CSSE Student MASS Research Participant, February 2014 Overview Download / execute installer Initial configuration
More informationIntro to Github. Jessica Young
Intro to Github Jessica Young jyoung22@nd.edu GitHub Basics 1. Installing GitHub and Git 2. Connecting Git and GitHub 3. Why use Git? Installing GitHub If you haven t already, create an account on GitHub
More informationVersion Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018
Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 17, 2018 1 But first, Screen Readers The software you
More informationSoftware Project (Lecture 4): Git & Github
Software Project (Lecture 4): Git & Github Wouter Swierstra, Atze Dijkstra Feb 2016 Wouter Swierstra, Atze Dijkstra Software Project (Lecture 4): Git & Github Feb 2016 1 / 45 Wouter Swierstra, Atze Dijkstra
More informationA L A TEX-oriented intro to Git
A L A TEX-oriented intro to Git the tex part is in the interactive demo not in the slides Danielle Amethyst Brake 22 October - 26 November, 2018 ICERM Semester on Nonlinear Algebra Inter-week collaboration
More informationVersion Control. CSC207 Fall 2014
Version Control CSC207 Fall 2014 Problem 1: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope you can remember what changes
More informationCSE 331 Software Design & Implementation
CSE 331 Software Design & Implementation Spring 2019 Section 2 Development Tools UW CSE 331 Spring 2019 1 Administrivia HW1 done! HW2 due next Tuesday. HW3 out today, deadline upcoming. Everyone should
More informationDepartment of Computer Science College of Engineering Boise State University
Department of Computer Science College of Engineering Boise State University 1/18 Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control
More informationIntroduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum
Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...
More informationTutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow
Tutorial: Getting Started with Git Introduction to version control Benefits of using Git Basic commands Workflow http://xkcd.com/1597/ 2 Tutorial Objectives Fundamentals of how git works Everything you
More informationGIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7
GIT VERSION CONTROL TUTORIAL William Wu w@qed.ai 2014 October 7 ABOUT ME Scientific Computing Specialist background: math, cs, ee interests: machine learning, DSP, imaging, data viz, cloud work: various
More informationA quick (and maybe practical) guide to Git and version control. By Jay Johnson
A quick (and maybe practical) guide to Git and version control By Jay Johnson Necessary shout outs and reference links from slides from CSE 380 with Dr. Chris Simmons (UT-Austin) and notes from Prof. Jean-Luc
More informationChapter 5. Version Control: Git
Chapter 5 Version Control: Git The Replication Crisis continues to heat up discussion across social science. Hence principled researchers want to make their work easy to replicate and reputable journals
More informationVersion Control Systems
Version Control Systems Version Control In the 2 nd edition of Pro Git, version control is described as a system that records changes to a file or set of files over time so that you can recall specific
More informationSoftware Engineering
Software Engineering CSC 331/631 - Spring 2018 Version Control with Git Paul Pauca March 27 SE Theory: Version Control Systems Link to video lectures (Soft Dev Proc part 1 of 3) Watch these short videos
More informationGit 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. Have you ever lost your work? 3/10/2017 Version Control with Git 2 Have you ever lost
More informationOutline. Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network
Outline Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network Why do I need version control? How many lines of code was
More informationWindows. Everywhere else
Git version control Enable native scrolling Git is a tool to manage sourcecode Never lose your coding progress again An empty folder 1/30 Windows Go to your programs overview and start Git Bash Everywhere
More informationLab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU
Lab 01 How to Survive & Introduction to Git Web Programming DataLab, CS, NTHU Notice These slides will focus on how to submit you code by using Git command line You can also use other Git GUI tool or built-in
More informationSource Code Management wih git
Source Code Management wih git Matthieu Herrb December 22 http://homepages.laas.fr/matthieu/cours/git.pdf Licence This work is licensed under a Creative Commons Attribution-ShareAlike 3. Unported License.
More informationUSER GUIDE. MADCAP FLARE 2017 r3. Source Control: Git
USER GUIDE MADCAP FLARE 2017 r3 Source Control: Git Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this
More informationOutline. Version Control System (VCS) basics Git terminology & concepts Basic Git commands Branches in Git Git over the network (time permitting)
Outline Version Control System (VCS) basics Git terminology & concepts Basic Git commands Branches in Git Git over the network (time permitting) Why do I need version control? How many lines of code was
More informationAbout CVS. 1 Version Control - what is it? why is it useful?
About CVS CVS stands for Concurrent Version Control. It s free, open-source software used by multiple developers to share code, keep track of changes, and keep different versions of a project. it can be
More informationIntroduction to Git and Github
Introduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017 What is git and GitHub? git is a version control system. Other version control systems
More informationLab Exercise Git: A distributed version control system
Lunds tekniska högskola Datavetenskap, Nov 21, 2016 EDAF45 Programvaruutveckling i grupp projekt Labb 2 (Git): Labbhandledning Checked on Git versions: 2.7.4 Lab Exercise Git: A distributed version control
More informationGit. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015
Git CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 1 Lecture Goals Present a brief introduction to git You will need to know git to work on your presentations this semester 2 Git
More information