GIT is for people who like SVN September 18 th 2012 Vladimir Kerkez and BK.

Slides:



Advertisements
Similar presentations
Version Control CS440 – Introduction to Software Engineering © 2014 – John Bell Based on slides prepared by Jason Leigh for CS 340 University.
Advertisements

Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
Concepts of Version Control A Technology-Independent View.
Version Control Systems Phil Pratt-Szeliga Fall 2010.
Hosted Git github. From an alumni (2010)  You know, the more time I spent in industry the better I've understood what a strong advocate you are for the.
SubVersioN – the new Central Service at DESY by Marian Gawron.
HCJB Senior Design Team April 10, Development Tool When working with a team, the need for a central repository is essential Need a system to allow.
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.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
1 CSE 390 “Lecture 11” Version control with Git slides created by Ruth Anderson, images from
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
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Chapter - 2 What is “GIT” VERSION CONTROL AND GIT BASICS.
1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
Why you should be using Version Control. Matt Krass Electrical/Software Engineer November 22, 2014.
Version Control with Subversion Quick Reference of Subversion.
A primer on version control at OTN
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
Version Control. How do you share code? Discussion.
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
By: Anuj Sharma. Topics covered:  GIT Introduction  GIT Benefits over different tools  GIT workflow  GIT server creation  How to use GIT for first.
Git overview for RoboCup Andre Pool, September 2015.
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.
Version Control Reducing risk with version control Jon Austin
SWGData and Software Access - 1 UCB, Nov 15/16, 2006 THEMIS SCIENCE WORKING TEAM MEETING Data and Software Access Ken Bromund GST Inc., at NASA/GSFC.
Version Control System Lisa Palathingal 03/04/2015.
Version Control System
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Version Control and SVN ECE 297. Why Do We Need Version Control?
CS 160 and CMPE/SE 131 Software Engineering February 16 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
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.
It’s not just an insult from Harry Potter!. What is Git? Distributed Version Control System (DVCS) – Compared to a Centralized Version Control System.
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.
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Git Girish Git VCS that I have used ClearCase, cvs, svn Happy p4 user.
GIT: (a)Gentle InTroduction Bruno Bossola. Agenda About version control Concepts Working locally Remote operations Enterprise adoption Q&A.
Dr. Tanusri Bhattacharya
Information Systems and Network Engineering Laboratory II
Version Control with Subversion
Version Control.
Code Management Releases
Version Control System using Git
Development and Deployment
Concurrent Version Control
An introduction to version control systems with Git
An introduction to version control systems with Git
Version Control with git
Introduction to Configuration Management
An introduction to version control systems with Git
Git CS Fall 2018.
Version control with Git
Introduction to Version Control with Git
Introduction to Git and GitHub
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Presentation transcript:

GIT is for people who like SVN September 18 th 2012 Vladimir Kerkez and BK

Today: Major differences between SVN and GIT, and why you should use GIT

Branching

 SVN : If you need to know if you had merged a branch, you need to explicitly run commands like svn propget svn:mergeinfo to verify if it was merged or not.  You need to mark major releases with their revision numbers  Tracking branching is difficult in SVN  Can’t blame people as easily  With GIT branching is much more easier & fun. You can quickly switch between branches from the same working directory. It helps finding un-merged branches and also help merging files fairly easily & quickly.

Complex branching

GIT is distributed, SVN is not  There is a centralized repository, but every developer has their own version of the revisions locally  Can commit without affecting main code on server  Use on flights, dungeons, etc.

No global revision numbers in GIT  Instead we have revision hash numbers

Content integrity  GIT contents are cryptographically hashed using SHA-1 hash algorithm.  This will ensure the robustness of code contents by making it less prone to repository corruption due to disk failures, network issues etc.  Here is an interesting discussion on GIT’s content integrity – it-file-integrity

Other points  It's incredibly fast.  The repository owner can't dictate how I work. I can create branches and commit changes while disconnected on my laptop, then later synchronize that with any number of other repositories.  An SSH channel, over HTTP via WebDAV, by FTP, or by sending s holding patches to be applied by the recipient of the message. A central repository isn't necessary, but can be used.  Unlike Subversion branches carry along their complete history.  Branch merging is simpler and more automatic in Git.  In Subversion you need to remember what was the last revision you merged from so you can generate the correct merge command. Git does this automatically  Branch merges are recorded as part of the proper history of the  All of the users are tracked very efficiently, especially while MERGING!  it's a very simple format. The Mozilla project's CVS repository is about 3 GB ; it's about 12 GB in Subversion's fsfs format. In Git it's around 300 MB.

Running GIT in a group  Use your own server (cool, but you still need a separate ticketing system/wiki)  Throw a LAN party/get-together (bad idea unless you’re looking to hang out)  Use github (everyone else is doing it)  Tons of extra features, easy to set up, free for pen source projects

Example project 

Setting it github   1. Register a username/password on github.com  2. Create a project  3. Download and install GIT: scm.com/downloadshttp://git- scm.com/downloads

Set Up Git

Set up ssh keys  Do this if you don’t want to type a password every time  ng-ssh-keys ng-ssh-keys

Create a repository  Hands on with Vlad…