Version Control System using Git

Slides:



Advertisements
Similar presentations
Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Advertisements

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.
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.
1 CSE 390 “Lecture 11” Version control with Git slides created by Ruth Anderson, images from
Git: Part 1 Overview & Object Model These slides were largely cut-and-pasted from tutorial/, with some additions.
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 Using Git 1Version control, using Git.
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
Git – versioning and managing your software L. Grewe.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Version control Using Git Version control, using Git1.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
2010. The Subversion Dilemma Check in buggy code and drive everyone else crazy Avoid checking it in until it’s fully debugged or.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
…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.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
Introduction to Version Control with Git CSC/ECE 517, Fall 2014 A joint project of the CSC/ECE 517 staff, including Titus Barik, Gaurav Tungatkar, Govind.
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 System Lisa Palathingal 03/04/2015.
GIT.
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.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
It’s not just an insult from Harry Potter!. What is Git? Distributed Version Control System (DVCS) – Compared to a Centralized Version Control System.
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.
Version Control Jose Caraballo. What is version Control?
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Introduction to Git Thomas.
Getting Started with Git Presented by Jim Taylor Rooty Hollow, Owner Verizon Wireless, Senior Programmer/Analyst Git User for 6 years.
Jun-Ru Chang Introduction GIT Jun-Ru Chang
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.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association STEINBUCH CENTRE FOR COMPUTING - SCC
Dr. Tanusri Bhattacharya
Version Control Systems
.git git-scm.com free and open source distributed version control system p.s. for beginners…
CS5220 Advanced Topics in Web Programming Version Control with Git
4 Version control (part 1)
Source Control Systems
Version Control Systems
Git and GitHub primer.
Version Control.
Source Control Dr. Scott Schaefer.
Version Control with Subversion (SVN)
Version control, using Git
CS5220 Advanced Topics in Web Programming Version Control with Git
Development and Deployment
Version Control Systems
Storing, Sending, and Tracking Files Recitation 2
An introduction to version control systems with Git
Akshay Narayan git up to speed with RCS Akshay Narayan
Anatomy of a Git Project
Introduction to Configuration Management
Revision Control Daniel Daugherty
Subclipse CSCI 3130 Summer 2016.
Subversion Basics Guide
Version Control System - Git
Version control with Git
CMPE/SE 131 Software Engineering February 14 Class Meeting
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Systems Analysis and Design I
Git GitHub.
Introduction to The Git Version Control System
Introduction To GitHub
Presentation transcript:

Version Control System using Git

Presented by: Rohit Das Rudra Nil Basu 3000114022 30000114023 rohit.das950@gmail.com Rudra Nil Basu 30000114023 rudra.nil.basu.1996@gmail.com

1. The Problem Why do we need Version Control System anyway?

Maintaining group Projects Patches are mostly sent via email Difficult to roll back Almost impossible to maintain if the number of people working in the project is large Testing new unstable features

2. Version Control System

Version Control: What is it? A method for recalling versions of a codebase Keeping a record of changes Who did what and when in the system Save yourself when things inevitably go wrong

Version Control: Why? Individual Back-ups of the project Create a “checkpoint” in the project at any stage: Fearlessly modify code Tagging: Mark certain point in time Branching: Release versions and continue development

Version Control: Why? Team Everything in “Individual” Allow multiple developer to work on the same codebase Merge changes across same files: handle conflicts Check who made which change: blame/praise

Version Control: Types Centralised VCS Distributed VCS

Centralised VCS A single authoritative data source (repository) Check-outs and check-ins are done with reference to this central repository Centralised VCS

Centralised VCS

Centralised VCS Examples: Concurrent Version System (CVS) Subversion (SVN) Centralised VCS

Distributed VCS No single repository is authoritative Data can be checked in and out from any repository Distributed VCS

Distributed VCS

Examples Git Mercurial Distributed VCS

3. Git --everything-is-local

Free, open source Fully distributed Handle small files very effectively Tracks contents, not files Data = Snapshot No network Three stages

Created by Linus Torvalds in less than 2 weeks Currently maintained by Junio C Hamano

Git: Stages Three stages: Working directory Staging directory Git directory (repository) Git: Stages

Setup git init git clone <remote-url> Git: Development

Git: Development Check “snapshots” of the codebase git log Show commit logs Git: Development

Commit logs Git: Development

Branches git checkout –b <branch-name> Git: Development

View changes git diff Git: Development

View changes Git: Development

Git: Development Update staging area git add <files> Add file contents to the index Git: Development

Git: Development Create “snapshots” of your codebase git commit Records changes to the repository Git: Development

Merge other branches git merge Git: Development

Git: Development

Git: Development Make patches git format-patch --stdout > fix.patch Patch created as “fix.patch” Prepare patches for email submission Send patch via mail Git: Development

Make patches Git: Development

Git: Development Applying patches git apply < fix.patch Applies changes from the patch Git: Development

Result? Much efficient workflow Creating and merging branches are very easy and fast Result?

The development process of the Linux kernel is maintained using Git The Linux kernel development process has: Over 2000 individual contributors per year Grows by nearly 300,000 lines per year Result?

THANK YOU! Rohit Das Rudra Nil Basu rudra.nil.basu.1996@gmail.com rohit.das950@gmail.com mouri11.github.io Rudra Nil Basu rudra.nil.basu.1996@gmail.com rudranilbasu.me