CS 378: Autonomous Intelligent Robotics (FRI) Dr. Todd Hester

Similar documents
Introduction to Git and Github

Version Control with GIT

A BASIC UNDERSTANDING OF VERSION CONTROL

Revision control. INF5750/ Lecture 2 (Part I)

Version control with Git.

Fundamentals of Git 1

Version Control: Gitting Started

Git for Version Control

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

For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to

CSE 391 Lecture 9. Version control with Git

Version Control with Git ME 461 Fall 2018

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

Using git to download and update BOUT++

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

Effective Software Development and Version Control

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

Version Control. Version Control

Object Oriented Programming. Week 1 Part 2 Git and egit

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

Version Control. Version Control

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

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

Submitting your Work using GIT

CS314 Software Engineering Configuration Management

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

Git Introduction CS 400. February 11, 2018

Git for Subversion users

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

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

Outline. Version Control System (VCS) basics Git terminology & concepts Basic Git commands Branches in Git Git over the network (time permitting)

Revision Control. An Introduction Using Git 1/15

Revision Control and GIT

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

Distributed Version Control

CS 390 Software Engineering Lecture 5 More Git

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

CSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn

Lecture 6 Remotes. Sign in on the attendance sheet!

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

Introduction to distributed version control with git

Software Engineering

Software Development I

Computer Science Design I Version Control with Git

CS 320 Introduction to Software Engineering Spring February 06, 2017

Outline. Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

A Practical Introduction to Version Control Systems

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

Git, the magical version control

Version Control Systems (VCS)

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

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

Laboratorio di Programmazione. Prof. Marco Bertini

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

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

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

Tools for software development:

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

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

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY

1/20/13 Git tutorial. Git tutorial. Mike Nolta. file:///users/nolta/github/reveal.js/git.html?print-paper#/ 1/31

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

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:

Outline. Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network

Git Basi, workflow e concetti avanzati (pt2)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

Version Control. CSC207 Fall 2014

Version Control System GIT

Software Project (Lecture 4): Git & Github

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

TDDC88 Lab 4 Software Configuration Management

Part I Part 1 Version Control Systems (VCSs)

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

Version control system (VCS)

Revision control systems (RCS) and. Subversion

Hg Tutorial. For : COP Object oriented Programming (Using C++) Biswas Parajuli

Tizen/Artik IoT Practice Part 4 Open Source Development

Project Management. Overview

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

Tips on how to set up a GitHub account:

Version Control Systems (Part 1)

Git. Presenter: Haotao (Eric) Lai Contact:

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

Git better. Collaborative project management using Git and GitHub. Matteo Sostero March 13, Sant Anna School of Advanced Studies

Lab Objective. Lab Assignment. Downloads and Installation

Git Like You Mean it. Alan Ott SCaLE 16x March 8-11, 2018

Introduction to Version Control

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

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs)

Introduction to Git and Github Repositories

Part I Part 1 Version Control Systems (VCSs)

Version Control Systems

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

b. Developing multiple versions of a software project in parallel

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

Github/Git Primer. Tyler Hague

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

Transcription:

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 had updated plans/steps for project Most groups have some good preliminary results!

Today Version Control Git rosws

Version Control Record changes to a file or set of files Can: Revert files to previous state Check changes to files Check who introduced a bug Revert entire project to previous state Backup of your code Merging code from different programmers Maintain code across multiple computers rcs, subversion, cvs, perforce, git, mercurial http://git-scm.com/book/en

Central Version Control

Distributed Version Control

git

git

Git Commands Create a git repository from existing files git init Clone an existing repository git clone url Add a new file to be tracked git add filename Get information on git status git status See what you've changed that is not staged git diff Commit staged changes: git commit -m "comment on this change"

Git commands Look at log of commits git log Show remote repositories git remote Pull updates from remote repository git pull Push updates from local to remote repository git push

git status $ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: README # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # # modified: benchmarks.rb #

git diff $ git diff diff --git a/benchmarks.rb b/benchmarks.rb index 3cb747f..da65585 100644 --- a/benchmarks.rb +++ b/benchmarks.rb @@ -36,6 +36,10 @@ def main @commit.parents[0].parents[0].parents[0] end + run_code(x, 'commits 1') do + git.commits.size + end + run_code(x, 'commits 2') do log = git.commits('master', 15) log.size

git commit $ git commit -m "Story 182: Fix benchmarks for speed" [master]: created 463dc4f: "Fix benchmarks for speed" 2 files changed, 3 insertions(+), 0 deletions(-) create mode 100644 README

git log $ git log commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <schacon@gee-mail.com> Date: Mon Mar 17 21:52:11 2008-0700 changed the version number commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7 Author: Scott Chacon <schacon@gee-mail.com> Date: Sat Mar 15 16:40:33 2008-0700 removed unnecessary test code commit a11bef06a3f659402fe7563abf99ad00de2209e6 Author: Scott Chacon <schacon@gee-mail.com> Date: Sat Mar 15 10:31:28 2008-0700 first commit

GitHub Hosts remote git repositories Free public repositories, pay for private ones https://help.github.com/articles/create-a-repo Create repository on github site Create local git repository Push local repository to remote repository git remote add origin https://github.com/username/hello-world.git git push origin master Github shows files/commits/etc graphically

rosws ROS source code workspace tool Can help maintain code from multiple repositories The bwi-update script you ran was calling lots of rosws commands http://www.ros. org/doc/independent/api/rosinstall/html/rosw s.html

rosws rosws is a command to manipulate ROS workspaces. Official usage: rosws CMD [ARGS] [OPTIONS] rosws will try to infer install path from context Type 'rosws help' for usage. Options: help provide help for commands init set up a directory as workspace set add or changes one entry from your workspace config merge merges your workspace with another config set remove (rm) remove an entry from your workspace config, without deleting files update (up) update or check out some of your config elements info Overview of some entries status (st) print the change status of files in some SCM controlled entries diff (di) print a diff over some SCM controlled entries regenerate create ROS workspace specific setup files

rosws commands rosws init Initialize directory as a ros workspace ~/ros/rosbuild_ws rosws info Provides information on source code entries rosws set Adds/modifies an entry in workspace config rosws update Update / Checkout / Pull code to your local filesystem rosws diff Provide a diff of your modified code

rosws info todd@zoidberg:~/ros/rosbuild_ws$ rosws info workspace: /nishome/todd/ros/rosbuild_ws ROS_ROOT: /opt/ros/groovy/share/ros Localname S SCM Version-Spec UID (Spec) URI (Spec) [http(s)://...] --------- - ---- ------------ ----------- --------------------------- class-code git 444e2d8bf025 github.com/bwi-spring-2013/class-code.git cmvision M svn -r55306 code.ros.org/svn/wg-rospkg/branches/trunk_cturtle/vision/cmvision multi_level_map git freenect_stack git segbot_simulator git master b7802ff0715c github.com/bwi-spring-2013/multi_level_map.git dce731ce33b2 github.com/piyushk/freenect_stack.git adec7c3d833a github.com/bwi-spring-2013/segbot_simulator.git segbot_apps git master 57d77215cc45 github.com/bwi-spring-2013/segbot_apps.git segbot git master 194db5d8a8a3 github.com/bwi-spring-2013/segbot.git libsegwayrmp git master 1c4b7a55c303 github.com/utexas-bwi/libsegwayrmp.git segway_rmp git master 0d3158f766e7 github.com/utexas-bwi/segway-rmp-ros-pkg.git

rosws set rosws set [localname] [SCM-URI]? [--(detached svn hg git bzr)] [-- version=version]] todd@zoidberg$ rosws set test2 --git http://github.com/bwi-spring-2013/classcode.git rosws set svntest --svn https://code.ros.org/svn/wg-rospkg/branches/trunk_cturtle/vision/cmvision

rosws set todd@zoidberg$ rosws set test2 --git http://github.com/bwi-spring-2013/classcode.git Add new elements: test2 git http://github.com/bwi-spring-2013/class-code.git Continue: (y)es, (n)o: y Overwriting /nishome/todd/ros/rosbuild_ws/.rosinstall Do not forget to do... $ source /nishome/todd/ros/rosbuild_ws/setup.sh... in every open terminal. Config changed, remember to run 'rosws update test2' to update the folder from git

rosws set todd@zoidberg$ source /nishome/todd/ros/rosbuild_ws/setup.sh todd@zoidberg$ rosws update test2 [test2] Fetching http://github.com/bwi-spring-2013/class-code.git (version None) to /nishome/todd/ros/rosbuild_ws/test2 [test2] Done. todd@zoidberg$ ls test2 asg1 intro_to_opencv README.md todd@zoidberg$ rosws info workspace: /nishome/todd/ros/rosbuild_ws ROS_ROOT: /opt/ros/groovy/share/ros Localname S SCM Version-Spec UID (Spec) URI (Spec) [http(s)://...] --------- - ---- ------------ ----------- --------------------------- test2 git 444e2d8bf025 github.com/bwi-spring-2013/classcode.git class-code git 444e2d8bf025 github.com/bwi-spring- 2013/class-code.git cmvision M svn -r55306 code.ros.org/svn/wg-rospkg/branches/trunk_cturtle/vision/cmvision

Readings Tell us about what paper you read What did they do? How did they test it? How does it relate to our project?