Version Control. How do you share code? Discussion.

Slides:



Advertisements
Similar presentations
LECTURE 14 OCT 22, 2010 Git, in graphic form. Change tracking basics.
Advertisements

Version Control Systems Phil Pratt-Szeliga Fall 2010.
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.
Introduction to Git and Github Joshua imtraum.com.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Getting Started with GIT. Basic Navigation cd means change directory cd.. moves you up a level cd dir_name moves you to the folder named dir_name A dot.
Programming in Teams And how to manage your code.
A primer on version control at OTN
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Git – versioning and managing your software L. Grewe.
GIT An introduction to GIT Source Control. What is GIT (1 of 2) ▪ “Git is a free and open source distributed version control system designed to handle.
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
Branching. Version Control - Branching A way to write code without affecting the rest of your team Merge branches to integrate your changes.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
Git (Get) it done right! Practical Applied Version Control for Drupal site developers Peter Chen - Stanford School of Engineering Technical Webmaster.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
Version Control Group Wen-hao Zeng Richard Liou. 2 Introduction Several groups develop the ITS concurrently Accumulated modification of files can cause.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
1 Applied CyberInfrastructure Concepts ISTA 420/520 Fall
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.
Intro to Git presented by Brian K. Vagnini Hosted by.
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.
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 16 – Version control and git.
Hosted Git github. From an alumnus (2010)  You know, the more time I spent in industry the better I've understood what a strong advocate you are for.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
INTRODUCTION TO GIT. Install Egit for eclipse Open eclipse->Help->Install New Software Search for one of the following -
Git How to 1. Why Git To resolve problems in lab exams (accidental deletions) Use existing Libraries with ease (Statistics and Computer) Prepare undergraduates.
Lecture 5 Remotes Sign in on the attendance sheet! Turn in homework at the front!
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
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.
Version Control Systems
Information Systems and Network Engineering Laboratory II
Source Control Systems
I Don’t Git It: A beginner’s guide to git Presented by Mathew Robinson
Git and GitHub primer.
11 Version control (part 2)
LECTURE 2: Software Configuration Management
Version Control.
Discussion 11 Final Project / Git.
Version Control overview
Software Engineering for Data Scientists
Version Control with Git and GitHub
Version Control Systems
Storing, Sending, and Tracking Files Recitation 2
LECTURE 3: Software Configuration Management
The Big Picture
SIG: Open Week 1: GitHub Tim Choh.
Getting Started with Git and Bitbucket
Part 1: Editing and Publishing Files
Git and Jira Tutorials Kan Qi
Using Github.
Git CS Fall 2018.
Introduction to Git and GitHub
Git started with git: 2018 edition
CMPE/SE 131 Software Engineering February 14 Class Meeting
GitHub and Git.
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Version Control with Git and GitHub
GitHub 101 Using Github and Git for Source Control
Git GitHub.
Introduction to The Git Version Control System
Introduction To GitHub
Introduction To GitHub
Presentation transcript:

Version Control

How do you share code? Discussion

How we share code Working in a team, you need to share code – How? attachments? Sneakernet? What if two people edit the same file at the same time? Google Docs? Dropbox? – No merging in Dropbox – GoogleDocs not meant for code

We’ll use git What does git do for you? – Version control and source control – tracks all changes submitted to the codebase revert changes Create working braches without affecting stable releases – Tells you when there are merge conflicts Why git? – Because “everyone” is using it – You’re likely to use it when you get a job – It’s free

git Version control software – Linux/Linus Remote server hosts your repository Every user maintains a local copy of the entire repos Need to install git if it doesn’t come with your OS

git is..

Scenario Bob writes a bug just before a big release With poor version control – The customer is not happy With proper version control – Bob was working on separate branch – Bob pushes to the release branch The team will revert to the last commit before Bob’s blunder – Customer never sees the bug

(some) git Commands Make a repo – init Update a repo – add – commit – push Connect to a remote repo – clone Update local repo – pull

Making a repo init – Creates a new git repo in the current directory Or create a repo in GitHub

Updating the Repo add – Tell git that you want it to track commit – Updates changes to your local repository – Add a meaningful commit message push – Updates the remote repo with the changes committed to your local repo – Lets your team access your changes – Will warn you to pull first if there are remote changes

Commit messages Many different conventions Choose one – Or not – AngularJS AngularJS Whatever you do, make your messages meaningful and descriptive – Your future self and contributors will thank you! – Especially as you move on to bigger and better projects

Connecting to a repo clone – Copies the entire repository to your local directory https – git clone fall2015.git ssh – git clone fall2015.git – must create ssh keys and upload your public ssh key to the server

Pull often pull – Copies the most up-to-date code from the server to your local copy of the repo – Can cause a merge conflict pull often!

git Structure

GitHub Provides servers to host git repos – An interface and server for git Why GitHub? – Because “everyone” uses iteveryone – It’s free If you want to use another service – Let me know – BitBucket BitBucket

Coming Soon.. Friday: Scrum Wednesday: Branching But now, git/GitHub demo