Définition(s) ? C'est un dispositif, en général un logiciel, qui permet de conserver son travail dans le temps dans toutes les versions qu'on souhaite, de naviguer dans cet historique, de gérer des divergences et convergences de variantes et de travailler en équipe sans se marcher sur les pieds.
delta vs. snapshot File A Δ1 File B File C Version 1 Version 2 Version 3 Version 4 Version 5 Δ2 Δ1 Δ2 Δ1 Δ2 Δ3 A B C Version 1 Version 2 Version 3 Version 4 Version 5 A1 B C1 A1 B C2 A2 B1 C2 A2 B2 C3 File A Δ1 File B File C Version 1 Version 2 Version 3 Version 4 Version 5 Δ2 Δ1 Δ2 Δ1 Δ2 Δ3 A B C Version 1 Version 2 Version 3 Version 4 Version 5 A1 B C1 A1 B C2 A2 B1 C2 A2 B2 C3
historique commit size commit size 98ca9.. tree author committer initial commit of my project 0de24 Scott Scott commit size 34ac2.. tree parent author committer fixed bug #1328 - stack overflow under certain 184ca 98ca9 Scott Scott f30ab.. tree parent author committer add feature #32 - ability to add new formats to the central 34ac2 Scott Scott Snapshot A Snapshot B Snapshot C 92ec2
commit • tree • blob blob size e8455.. commit size 98ca9.. == LICENSE: (The MIT License) Copyright (c) 2007 Tom Preston- Permission is hereby granted, f ree of charge, to any person ob tree parent author committer my commit message goes here and it is really, really cool 0de24 nil Scott Scott tree size 10af9.. blob tree bc52a b70f8 mylib.rb inc tree size b70f8.. blob 0ad1a tricks.rb tree size 0de24.. blob tree e8455 10af9 README lib blob size bc52a.. require 'grit/index' require 'grit/status' module Grit class << self attr_accessor :debug blob size 0ad1a.. require 'grit/git-ruby/reposi require 'grit/git-ruby/file_i module Grit module Tricks SHA1
commandes courantes init add rm mv status commit log diff show branch checkout merge tag clone fetch pull push remote reset rebase blame au moins 1x/semaine
Time release branches master develop hot xes feature branches Feature for future release Tag 1.0 Major feature for next release From this point on, “next release” means the release after 1.0 Severe bug xed for production: hot x 0.2 Bug xes from rel. branch may be continuously merged back into develop Tag 0.1 Tag 0.2 Incorporate bug x in develop Only bug xes! Start of release branch for 1.0 Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons
Articles L’article complet sur git-flow : http://nvie.com/posts/a-successful-git-branching-model/ Pourquoi vous n’utilisez vous toujours pas git-flow : http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/ Le workflow en vigueur chez GitHub : http://scottchacon.com/2011/08/31/github-flow.html
Scott Chacon et le livre Progit pour des définitions et graphiques : http://progit.org/ • https://github.com/progit/progit Zach Holman pour les conseils sur la conception des slides : http://zachholman.com/posts/slide-design-for-developers/ Yanone Kafeesatz pour cette magnifique police de caractères (CC BY 2.0) : http://www.yanone.de/typedesign/kaffeesatz/ Vincent Driessen pour le graphique de git-flow : http://nvie.com/archives/323 Les différents logos, marques et noms déposés que j’ai cité