Chapter - 2 What is “GIT” VERSION CONTROL AND GIT BASICS.

Slides:



Advertisements
Similar presentations
Software engineering tools for web development Jim Briggs 1CASE.
Advertisements

Version Control System (Sub)Version Control (SVN).
Let Use SVN(Subversion) Interaction Lab. Hyo-Geun Ahn
Version Control CS440 – Introduction to Software Engineering © 2014 – John Bell Based on slides prepared by Jason Leigh for CS 340 University.
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.
Using subversion COMP 2400 Prof. Chris GauthierDickey.
Version Control Systems Phil Pratt-Szeliga Fall 2010.
Development and Deployment Information Systems 337 Prof. Harry Plantinga.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
GIT is for people who like SVN September 18 th 2012 Vladimir Kerkez and BK.
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 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.
Version control Using Git 1Version control, using Git.
Introduction to Version Control with SVN & Git CSC/ECE 517, Fall 2012 Titus Barik & Ed Gehringer, with help from Gaurav.
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.
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.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
…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.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
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 Basics. Git stores data as snapshots of the project over time When commit Save all the files If files have not changed, point to the previous identical.
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
1 Brief Introduction to Revision Control Ric Holt.
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.
A Simple Introduction to Git: a distributed version-control system CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.5 © Mitchell Wand, This.
Sofia Event Center May 2014 Martin Kulov Git For TFS Developers.
GIT.
Version Control System
CS 160 and CMPE/SE 131 Software Engineering February 16 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 16 – Version control and git.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
Git Girish Git VCS that I have used ClearCase, cvs, svn Happy p4 user.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Dr. Tanusri Bhattacharya
4 Version control (part 1)
Discussion #11 11/21/16.
LECTURE 2: Software Configuration Management
Source Control Dr. Scott Schaefer.
Discussion 11 Final Project / Git.
Version Control overview
Version Control System using Git
Development and Deployment
Version Control with Git and GitHub
An introduction to version control systems with Git
An introduction to version control systems with Git
LECTURE 3: Software Configuration Management
Introduction to Configuration Management
An introduction to version control systems with Git
Getting Started with Git and Bitbucket
Git CS Fall 2018.
Introduction to Version Control with Git
Introduction to Git and GitHub
Git started with git: 2018 edition
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Presentation transcript:

Chapter - 2 What is “GIT” VERSION CONTROL AND GIT BASICS

Version control : What is it ? A version control system (also known as a Revision Control System) is a repository of files, often the files for the source code of computer programs, with monitored access. Every change made to the source is tracked, along with who made the change, why they made it, and references to problems fixed, or enhancements introduced, by the change. The Repository At the core of the version control system is a repository, which is the central store of that system's data. The repository usually stores information in the form of a filesystem tree—a hierarchy of files and directories. Any number of clients connect to the repository, and then read or write to these files. By writing data, a client makes the information available to others; by reading data, the client receives information from others

The Working Copy A version control system's value comes from the fact that it tracks versions of files and directories, but the rest of the software universe doesn't operate on “versions of files and directories”. Most software programs understand how to operate only on a single version of a specific type of file. So how does a version control user interact with an abstract—and, often, remote—repository full of multiple versions of various files in a concrete fashion? How does his or her word processing software, presentation software, source code editor, web design software, or some other program—all of which trade in the currency of simple data files—get access to such files? The answer is found in the version control construct known as a working copy. A working copy is, quite literally, a local copy of a particular version of a user's VCS-managed data upon which that user is free to work. Working copies appear to other software just as any other local directory full of files, so those programs don't have to be “version-control-aware” in order to read from and write to that data. The task of managing the working copy and communicating changes made to its contents to and from the repository falls squarely to the version control system's client software.

GIT – BASICS UNDERSTANDING GIT (VERSION CONTROL SYSTEM)

GIT in a nutshell The whole idea of GIT is to take a snapshot of your project at different time intervals so that if anything wrong happens, one can restore the project’s state at a particular time in the past. Git is also useful in situations when there are two people editing the same file. They may pull the same file, edit it, commit changes and then push it to remote server. Now, If they are using FTP then it is possible that they may overwrite each other changes. But if they are using Git then it will try to merge these changes.

GIT takes snapshots The major difference between Git and any other VCS (Subversion and friends included) is the way Git thinks about its data. Conceptually, most other systems store information as a list of file- based changes. These systems (CVS, Subversion, Perforce, Bazaar, and so on) think of the information they keep as a set of files and the changes made to each file over time, as illustrated in Figure.

Every time you commit, or save the state of your project in Git, it basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot. To be efficient, if files have not changed, Git doesn’t store the file again—just a link to the previous identical file it has already stored.

Some main points about GIT  Nearly Every Operation Is Local : Most operations in Git only need local files and resources to operate — generally no information is needed from another computer on your network. This aspect makes GIT very speedy, Because you have the entire history of the project right there on your local disk, most operations seem almost instantaneous  Git Has Integrity : Everything in Git is check-summed before it is stored and is then referred to by that checksum. This means it’s impossible to change the contents of any file or directory without Git knowing about it. This functionality is built into Git at the lowest levels and is integral to its philosophy. You can’t lose information in transit or get file corruption without Git being able to detect it.  Git Generally Only Adds Data :When you do actions in Git, nearly all of them only add data to the Git database. It is very difficult to get the system to do anything that is not undoable or to make it erase data in any way.

The Three States Git has three main states that your files can reside in: committed, modified, and staged.  Committed means that the data is safely stored in your local database.  Modified means that you have changed the file but have not committed it to your database yet.  Staged means that you have marked a modified file in its current version to go into your next commit snapshot. This leads us to the three main sections of a Git project: The Git directory The working directory The staging area.

Let’s get it started ! DOWNLOAD + INSTALL + SETUP + CONFIGURE + USE

Configuring GIT

1) Open GIT BASH

2) Set Username 3) Set

Creating “Repository”

1.Create a folder. 2.Change directory to that folder As you can see, I have created a new folder - TEST on desktop. So I’ll change my directory to desktop/test.

1.Initiate Git repository.