Page 1 TBD www.groupe-sii.com 12/08/2014 Formation GIT Laurent Kappel Groupe SII 65, rue de Bercy - 75012 Paris Tél : 01 42 84 82 22 - Fax : 01 42 84 30.

Slides:



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

om om GIT - Tips & Tricks / git.dvcs git-tips.com
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.
Patterns & practices Symposium 2013 Introducing Git version control into your team Mark
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
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
Fundamentals of Git By Zachary Ling 29 th, Aug,
Git. What’s Git? A British swear A Distributed Version Control System Developed in 2005 by Linus Torvalds for use on the Linux Kernel Git Logo by Jason.
Introduction to Version Control with SVN & Git CSC/ECE 517, Fall 2012 Titus Barik & Ed Gehringer, with help from Gaurav.
1 Introductory Notes on the Git Source Control Management Ric Holt, 8 Oct 2009.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 8-Oct-15.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
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.
Test Data Management. Distributed Version Control Meant for source code, not data Local history of source is good –Often modified  interesting history.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
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.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
1 © 2015 Albion College | BUGMI 2015 Git’s Architecture And How It Relates to Banner Eddie Bachle Albion College September 25, 2015.
Sofia Event Center May 2014 Martin Kulov Git For TFS Developers.
GIT.
Intro to Git presented by Brian K. Vagnini Hosted by.
Falcons Git Usage Andre Pool Version 2.0 October 2015 / Veldhoven.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
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.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
Getting Started with Git Presented by Jim Taylor Rooty Hollow, Owner Verizon Wireless, Senior Programmer/Analyst Git User for 6 years.
GitHub A web-based Git repository hosting service.
Git for bzr users October Aurélien Gâteau An attempt at making you comfortable when you have to work with a git repository.
Backing up a machine with git
GIT: (a)Gentle InTroduction Bruno Bossola. Agenda About version control Concepts Working locally Remote operations Enterprise adoption Q&A.
KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association STEINBUCH CENTRE FOR COMPUTING - SCC
Introduction to Git and git-svn Paul Gier Red Hat Sept. 27, 2011.
CS5220 Advanced Topics in Web Programming Version Control with Git
Introduction to Version Control with Git
Information Systems and Network Engineering Laboratory II
I Don’t Git It: A beginner’s guide to git Presented by Mathew Robinson
Primož Gabrijelčič Git for Programmers Primož Gabrijelčič
Version Control Systems
Git and GitHub primer.
11 Version control (part 2)
LECTURE 2: Software Configuration Management
Git Practice walkthrough.
CS5220 Advanced Topics in Web Programming Version Control with Git
Version Control System using Git
Git branches and remotes
Software Engineering for Data Scientists
CSCE 606: Configuration Management
Distributed Version Control with git
Akshay Narayan git up to speed with RCS Akshay Narayan
Anatomy of a Git Project
Version Control with git
LECTURE 3: Software Configuration Management
Git CS Fall 2018.
Version Control System - Git
Version control with Git
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Git Fundamentals.
Git Introduction.
Git GitHub.
Introduction to The Git Version Control System
Introduction To GitHub
Advanced Git for Beginners
Presentation transcript:

Page 1 TBD 12/08/2014 Formation GIT Laurent Kappel Groupe SII 65, rue de Bercy Paris Tél : Fax :

Page 2 TBD Sommaire 12/08/2014 Git is Fast GIT is Distributed GIT is SCM Git is Reliable Using Git Git is Agile Git Re-Writing History Git Workflow

Page 3 TBD GIT is SCM « branch » « merge »

Page 4 TBD Panorama des SCM

Page 5 TBD A little about history …

Page 6 TBD Git is not an evolution

Page 7 TBD Who is using Git

Page 8 TBD GIT is Distributed Distributed Fast Reliable

Page 9 TBD Centralized SCM Single Point of Failure Network (slow) Access Rights?

Page 10 TBD Git is Distributed No a priori structure But Git ≠ Anarchy

Page 11 TBD Git is Distributed A very common practice: Sharing via user-owned repos READ ONLY RD/WR

Page 12 TBD Git is Distributed A very common practice: Sharing via user-owned repos Git Hosting: :

Page 13 TBD Git is Distributed Hosted

Page 14 TBD Distributed Workflow Example Integration-Manager Dictator & Lieutenants

Page 15 TBD Distributed Workflow Example Other developers only READ Only Dan may WRITE New Release develop, commit Share Features Integrate Features

Page 16 TBD Distributed Workflow Example Integration-Manager Dictator & Lieutenants

Page 17 TBD Distributed Workflow Example

Page 18 TBD GIT Avantages Distributed Fast Reliable

Page 19 TBD GIT is Fast 100% local

Page 20 TBD GIT is Fast

Page 21 TBD GIT is Fast

Page 22 TBD GIT is Fast

Page 23 TBD GIT is Fast

Page 24 TBD GIT is Fast

Page 25 TBD GIT is Fast

Page 26 TBD GIT is Fast

Page 27 TBD GIT is Fast

Page 28 TBD GIT is Fast

Page 29 TBD GIT is Fast

Page 30 TBD GIT is Fast

Page 31 TBD GIT is Fast

Page 32 TBD Git Object Database

Page 33 TBD Git Object Database

Page 34 TBD Git Object Database

Page 35 TBD Git Object Database

Page 36 TBD Git Object Database

Page 37 TBD Git Object Database

Page 38 TBD Git Object Database

Page 39 TBD Git Object Database

Page 40 TBD Git Object Database

Page 41 TBD Git Object Database

Page 42 TBD Git Object Database

Page 43 TBD Git Object Database

Page 44 TBD Git Object Database

Page 45 TBD Git Object Database

Page 46 TBD Git Object Database

Page 47 TBD Git Object Database

Page 48 TBD Git Object Database

Page 49 TBD Git Object Database $ git cat-file -p 8e8eb67 tree 91dc8d579f123918f3ac43af1e9377a b author Laurent Kappel committer Laurent Kappel Mon premier commit

Page 50 TBD Git Object Database

Page 51 TBD Git Object Database $ git tag -a v2.0 -m 'my version 2.0' $ cat.git/refs/tags/v2.0

Page 52 TBD Git Object Database

Page 53 TBD This makes Git Fast Restore an arbitrary version – Git: checkout a hash = O(1) – SVN: diffs between n last commits = O(n) Compare 2 revisions Reset Search through history And many more…

Page 54 TBD Some Benchmarking

Page 55 TBD Git is Reliable Distributed Fast Reliable

Page 56 TBD Git is Reliable 1.Because it’s Distributed  Single dev with a remote? => 2 copies (local, remote) .git/ has it all 2.Checksums (SHA-1) for all objects Git uses  Detects data corruption  Guarantees Authenticity

Page 57 TBD Using Git

Page 58 TBD Using Git $ git clone Cloning into ‘gitdoc'... remote: Counting objects: 67870, done. remote: Compressing objects: 100% (13454/13454), done. remote: Total (delta 49179), reused (delta 48872) Receiving objects: 100% (67870/67870), MiB | 5.15 MiB/s, done. Resolving deltas: 100% (49179/49179), done. $ cd gitdoc $ ls –a... ppt.git.gitignore LICENSE README Local Repo Working Directory

Page 59 TBD Using Git $ git remote –v origin (fetch) origin (push) $ git branch * master $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master $ git log -n 3 --oneline 424a7b2 Merge pull request #202 from g-oikonomou/cc2538-minor-fixes c Change the InfoPage Location of the IEEE address 8b5b2bd CC2538 Documentation typo and grammar fixes

Page 60 TBD Using Git

Page 61 TBD Using Git

Page 62 TBD Using Git

Page 63 TBD Using Git

Page 64 TBD Using Git Modification of tracked content Modification of tracked content New, untracked content

Page 65 TBD Using Git

Page 66 TBD Using Git Content of the next commit Content of the next commit

Page 67 TBD Using Git

Page 68 TBD Using Git

Page 69 TBD Using Git

Page 70 TBD Using Git

Page 71 TBD Using Git

Page 72 TBD Using Git

Page 73 TBD Using Git Merges are done LOCALLY! “Git push failed, To prevent from losing history, non-fast forward updates were rejected”  Not an error, but common-sense  Files are rarely decorrelated

Page 74 TBD Using Git

Page 75 TBD Using Git

Page 76 TBD Using Git

Page 77 TBD Using Git Still not permitted  Git is happy  But how can PROJECT authors trust you?

Page 78 TBD Using Git $ git remote add cetic

Page 79 TBD Using Git $ git remote add cetic git push cetic master OK alias du remote nom utilisateur

Page 80 TBD Using Git $ git remote add cetic $ git push cetic master OK New repo = 2 commands ! Remote Repo $ git push [remote] [branch] $ git push [remote] [branch[:alias]] alias remote branch

Page 81 TBD Using Git

Page 82 TBD Using Git

Page 83 TBD Using Git

Page 84 TBD Using Git Jan Krüger’s Cheat Sheet

Page 85 TBD Using Git Git LOVES branches, and so should you

Page 86 TBD Git is Agile

Page 87 TBD Git is Agile

Page 88 TBD Git is Agile

Page 89 TBD Git is Agile

Page 90 TBD Git is Agile

Page 91 TBD Git is Agile

Page 92 TBD Git is Agile

Page 93 TBD Git is Agile

Page 94 TBD Git is Agile

Page 95 TBD Git is Agile

Page 96 TBD Re-Writing History

Page 97 TBD Re-Writing History

Page 98 TBD Re-Writing History git rebase –i 8b5b2bd

Page 99 TBD Re-Writing History

Page 100 TBD Re-Writing History

Page 101 TBD Re-Writing History

Page 102 TBD Re-Writing History

Page 103 TBD Re-Writing History

Page 104 TBD Cherry-Picking

Page 105 TBD Cherry-Picking

Page 106 TBD Cherry-Picking

Page 107 TBD Others commands

Page 108 TBD Workflow – How to structure a repository Branches and their interactions How the project moves forward – Organizing people Who accesses what How are contributions merged? Where? By who? Responsibilities Working together with Git  « Workflow » ?

Page 109 TBD GitFlow

Page 110 TBD GitFlow

Page 111 TBD GitFlow

Page 112 TBD GitFlow

Page 113 TBD GitFlow

Page 114 TBD GitFlow

Page 115 TBD GitFlow

Page 116 TBD Workflow – How to structure a repository Branches and their interactions How the project moves forward – Organizing people Who accesses what How are contributions merged? Where? By who? Responsibilities Working together with Git  « Workflow » ?

Page 117 TBD Integration Manager Workflow

Page 118 TBD Dictator & Lieutenants Workflow

Page 119 TBD Getting Started with Git Book: Pro Git. Selected Tutorials: – Git Immersion – Learn Git Branching workflow : interactive : More material: –

Page 120 TBD The End Questions ? Thanks !