GitPour les (pas si) nuls
Générique     Moi @malk_zameth    Chez @linagora Licence CC-BY-SA 3.0 Trouvez slideshare.net/malk_zameth/git-    pres pour...
Partie I: Intro
Quest-ce?
Contrôle de version (VCS)   Mais cest quoi "contrôle de version"?
Gestion de linformation     dans le temps          c-a-d.?
Mémoire de ce quon a        fait   Un grand archive de copies donc?
Grand archive organisant   automatiquementJe lui delegue la memoire de ce que mes fichiers on                       été.
DistribuéJe controle mes versions en local et à distance (nul                      maître)
Synchro fichier   remplaçant RSync
Transfert fichier    remplaçant ftp
Pourquoi utiliser un VCS?        Je gagne quoi moi?
Ne pas perdre le passéComme le "de-faire" et "re-faire" de mon editeur.              Mais pour toujours.
Visualiser le changementVoire comment un fichier a changé, ce qua été fait.
Arreter de faire la même    chose a la main          le massacre des .old   les copies de dossier sous-le-coude
Avoir plusieurs versions   de vos idées qui co-         existentcest le cas dans votre tête déjà, mettez sur fichier!
Pourquoi utiliser un DVCS?    Quel gain dun Git/Hg/Bz sur un SVN ?
“Aucun homme nest uneîle, un tout, complet en           soi”         Jhon Donne
Faciliter la collaborationJe partage directement avec toi ce que nous avons en                     commum.
Plus de commits en             pratiqueJe peux commiter sans impacter personne, sans que ça    se voit, je peux editer/del...
Decouple VCS de laccès à         linfraJe commite dans lavion, dans le train, pendant que          mon serveur est hors se...
Decouple VCS de     lExistance de linfraJe peux utiliser sans jamais avoir un serveur quelque            part. Où avant qu...
Pourquoi utiliser Git?    plutôt quun autre DVCS ?
PuissancePlein (il faut admettre: trop), de fonctionalités.
VitesseGit et Hg sont les deux allucinants et personne les bat.
SimplicitéNe pas confondre avec "faible courbe daprentissage".           Cest linvèrse du jeu déchecs.
SécuriséOn peut utiliser/obliger les clefs SSH pour ecrire sur un                   depot et/ou lire.
Devenu lingua francaEn 2009 persone maurait convaincu que jécrirais ça un                         jour
GitHubCar le reseau social est une bonne idéee aussi pour le                        travail.
Où utiliser Git?
Sur chaque fichier qui      sera édité.          Toujours.      Pas dexceptions.
Quand utiliser git?
À chaque édition.        Toujours.    Pas dexceptions.
Qui doit utiliser Git?
Cette présentation vise   deux publiques.
Tout être humain voulant  "chercher bonheur".  Vous éditez des fichiers? Continuons donc!
Tout être humain voulant   "gêrer des projets"Vous produisez des fichiers en équipe? Continuons                      donc!
Comment utiliser Git?
Partie II: Git tout seuldans sa machine sans     connection  Oui ça vaut largement déjà le coup!
Il faut un client git      Trois parfums
Vous êtes dev?Vous avez donc déjà un Environnement de Dev?
Intégrez Git a votre  Environnement!           Eclipse: Egit           Emacs: Magit         Vim: vim-fugitive Sublime Text...
Pas Dev; pas peur du     terminal?
La ligne de commande est        votre amie.  git tout court donc, dans toute sa puissance.
Et si jai peur du terminal?
Dans cette présentation je vous prends par la main   et peut être après vous naurez plus peur.
Et si après jai toujours   peur du terminal?
git-colaou bien gitg, giggle, gitk+git-gui etc.
Pas à paspour apprendre git, il vaut mieux utiliser un peu
Créez un repertoire de         test      la où vous voulez, disons:   mkdir -p ~/git-test; cd ~/git-test
Créez un fichier de votre         choixvotre oeuvre litteraire a vous, un programme, disons:      echo "mon merveilleux fi...
git initon dit a git "Interesse toi a ce répértoire et ces sous-                      répértoires"
Nous avons maintenant un           .git        ls .git donne quoi?
HEAD                Libellé comme un autre.point "le plus a jour", le "present" le "dernier commit".
git statusquel est ma situation actuelle?
Mon fichier nest pasencore pris en compte par           git!
git commitJai fait des modifications/ajouts et veux que ils soient                     pris en compte.
Erreur!git connais pas le fichier.
Commit a deux étapes
dabord on un indexe des       changements                  on apelle ça "stage":     Jai fait des changements, garde les d...
git add <nom du fichier>          disons git add test.txt. notez que le message de git status change.
puis:              git commitJai fini un sous ensemble de modifications qui sont     liés, je veux donner a eux une descri...
On peut faire plusieursstage sur le même fichier
Et si le concept même de stage ne me sert a rien?
git commit -ane membete pas avec le stage et commite mes               changements
A vous de jugezil ny a pas de "meilleure" manière, le stage est un outil             optionnel a utiliser ou a oublier.
Que contient le passé de     mon projet?
git logles gros chiffres incomprehensibles? identifiants                     uniques!
Messages de commit: fildArianne vers le passé
Quai je fait moi dans ce          passé?
git log --author
Qua été fait depuis hier?
git log --since "yesterday"
memorisez le moins    possible
Notez les commandes qui    vous sont utiles     qui vous utilisez vraiment
donnez des noms a ces    commandesde noms à vous, personnels que votre cerveau                 souviendra
git config alias.<nom>        <commande>                 git config alias.st status   git config alias.lg "log --pretty=on...
Voir le passé
git show <version>:<nom       du fichier>      git show HEAD~3:test.txt
Voire les differencesentre les fichiers actuels         et HEAD
git diff
Entre lactuel est un point         du passé
git diff <version>     git diff head~3
Entre deux points du       passé
git diff <version>..     <version>   git diff HEAD~3..HEAD~4
Comment Ré-écrire   lhistoire?
Je veux oublier des   changements
git reset <version>Ne Jamais faire sur quelque chose quon publie. On ne      réecrit pas de lhistoire déjà racconté!
Je veux regrouper des    changements
git rebase -i <version>Aussi a ne faire que si on a pas publié linfo.
Je oublier deschangements en indiquant  bien cela comme une         action
git revert <version a       oublier>
Petit commits frequents :  plus de souplesse et         pouvoir   on peut mieux choisir quoi reverter dans le futuron peut...
les numero de versionunique sont indigestesJe veux donner un nom a une version spécifique
git tag <nom de la           version>                   git tag 1.0git tag publiee_dans_la_newsletter_octobre_2012
Je veux travailler avecplusieurs visions du même        document        au même temps
les branches
git branch <branche>fait la creation de la branche, a partir de HEAD              Ne va PAS a la branche
git checkout <branche> change de branche, va la branche choisie
cela prête à confusionOn peut un jur creer une branche et oublier de     changer vers elle, faire des bêtises!
git checkout -b <branche>   fait la creation de la branche et immediatementchange de branche (faites en un alias, utilisez...
Consolider des branches     en une seule
git merge <branche amerger sur lactuelle>
pas envie de garder la      branche?
git branch -d <branche a        effacer>on a pas besoin de griller des neurones a inventer de tres bons nos pour des branc...
On a toujours une     branche celle par defaut sapelle master
Utilisez de branches!
Utilisez-les souvent!avant de demarrer chaque nouvelle direction dans les   fichier du projet; chaque nouvelle idée; chaqu...
Pourquoi?
Jongle entre une versionconnue et celle en cours        très vite
idées et experimentations   dans un coin prévu.
gestion de version          sur les idéesque je peux, finalement, abandoner sans rien toucher                  de mon hist...
Jévite une infinité de          problèmes. 99% des fois que jaide quelquun avec un "problème"    sur git: le problème naur...
Partie III : Git avec des        remotes       "serveurs distants"
prendre une copie dun      depot distantelle deviendra locale, une reference au depot distant        sera faite sur le nom...
git clone <url du depot>git clone https://github.com/malk/git-playback.git
ajouter un remote    pour les même projet on peut avoir beaucoupgenre un du client, un pour chaque collaborateur, etc.
git remote add <nom>        <url>git remote add mmozuras https://github.     com/mmozuras/git-playback.git
On a nos remotes
prendre les changements        distants copies à coté, mes fichiers ne changent pas
git fetch <remote>     <branche>  git fetch mmozuras master
Incorporer deschangements distants   déjà récupérés par un fetch
On sait déjà faire ça! cest une branche comme une autre!
On fait un merge!
git merge origin/masterje merge la branche master dans origin ( origin/master ) dans ma branche actuelle (je choisit lactu...
On ne merge que la    version déjà "fetché"si on oublie le fetch on merge une version peut etre                      déjà ...
Confusion possible     comment éviter?
git pull <remote>      <branche>           git pull origin masterfait un fetch puis un merge: plus doubli.
Incorporer changements  locaux dans branche        distante    Si nous avons les permissions!
git push <remote>         <branche>          git push --tags origin masterloption tags fait un push des tags créees aussi
Avant tout push● Un petit git status  ○ Suis-je au bon endroit? sinon checkout.  ○ Il manque quelquechose a comitter? on n...
Partie IV : Gestion de            projetOn doit produire de choses ensemble: évitons le chaos
Workflow
Processus de travailComment jenchaine les diverses étapes de travail pour                     produire.
Plusieurs VCS contrainent ou forcent un workflow
Git permet une infinité               un aperçu kernel.org/pub/software/scm/git/docs/gitworkflows.html
Dont plusieursincompatibles!
Si vous ne choisissez pas un workflow pour vous
Vous avez un sans se  rendre compte,   naturellement    Ou peut être plusieurs!
Si vous ne choisissez pas  un pour votre équipe
Vous avez surement déjà       plusieurs!Jespere quils soient tous compatibles! La chance!
Cela peut engendrer dès       problèmes
Trouvez donc un   workflow!Deux bonnes heures bien investies!   Je peux vous aider au pire.
Definissez les phases devie de votre productionCréation? Consolidation? mise en prod? hotfix? quoi                     dau...
Definissez les intercations     entre ces phaseset transformez-les en alias/script git avec des noms          quont un sen...
Et vous aurez un workflow            mon point de départ favori: http://nvie.com/posts/a-successful-git-branching-        ...
Quel commit a inséré ce        bug?
git bisecton declare des versions comme ayant ou pas le bug (on teste a chaque fois) et par dichotomie ils nous aide a    ...
Qui a inseré cette ligne    dans le fichier?
git blameDonne auteur par ligne (--L pour limiter les lignes)
Où a-t-on écrit tel truc?  Entre mes fichiers au sein dun projet?
git grepcomme grep, mais dans larbre de fichiers controlé par                         git
Voire leffet des commitsde quelquun comme unslideshow de son travail
git playbackhttps://github.com/mmozuras/git-playbackgénère un fichier html avec un tel slideshow
Aprendre git a resoudre un conflit dune manière  comme on a déjà fait           avantlapprendre a suivre nos habitudes et ...
git ReReRe        faut dabord activergit config --global rerere.enabled 1   après ça la commande marche
ouvrir un serveur http   tournant une page en       navigation delarborescence dun depot             git
git instaweb (javais dit: trop ;)
Devenir un pro du git
Git pour les (pas si) nuls
Prochain SlideShare
Chargement dans…5
×

Git pour les (pas si) nuls

4 416 vues

Publié le

Git introduction

Publié dans : Technologie
1 commentaire
3 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
4 416
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
88
Commentaires
1
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Git pour les (pas si) nuls

  1. 1. GitPour les (pas si) nuls
  2. 2. Générique Moi @malk_zameth Chez @linagora Licence CC-BY-SA 3.0 Trouvez slideshare.net/malk_zameth/git- pres pour-les-pas-si-nuls ● The Friendly Manual Sources ● Pro Git ● kernel. org/pub/software/scm/git/docs/ gitworkflows.html ● rogerdudler.github.com/git-
  3. 3. Partie I: Intro
  4. 4. Quest-ce?
  5. 5. Contrôle de version (VCS) Mais cest quoi "contrôle de version"?
  6. 6. Gestion de linformation dans le temps c-a-d.?
  7. 7. Mémoire de ce quon a fait Un grand archive de copies donc?
  8. 8. Grand archive organisant automatiquementJe lui delegue la memoire de ce que mes fichiers on été.
  9. 9. DistribuéJe controle mes versions en local et à distance (nul maître)
  10. 10. Synchro fichier remplaçant RSync
  11. 11. Transfert fichier remplaçant ftp
  12. 12. Pourquoi utiliser un VCS? Je gagne quoi moi?
  13. 13. Ne pas perdre le passéComme le "de-faire" et "re-faire" de mon editeur. Mais pour toujours.
  14. 14. Visualiser le changementVoire comment un fichier a changé, ce qua été fait.
  15. 15. Arreter de faire la même chose a la main le massacre des .old les copies de dossier sous-le-coude
  16. 16. Avoir plusieurs versions de vos idées qui co- existentcest le cas dans votre tête déjà, mettez sur fichier!
  17. 17. Pourquoi utiliser un DVCS? Quel gain dun Git/Hg/Bz sur un SVN ?
  18. 18. “Aucun homme nest uneîle, un tout, complet en soi” Jhon Donne
  19. 19. Faciliter la collaborationJe partage directement avec toi ce que nous avons en commum.
  20. 20. Plus de commits en pratiqueJe peux commiter sans impacter personne, sans que ça se voit, je peux editer/delester/regrouper mes commits avant de publier : donc je le fait plus souvent.
  21. 21. Decouple VCS de laccès à linfraJe commite dans lavion, dans le train, pendant que mon serveur est hors service.
  22. 22. Decouple VCS de lExistance de linfraJe peux utiliser sans jamais avoir un serveur quelque part. Où avant quil soit prêt.
  23. 23. Pourquoi utiliser Git? plutôt quun autre DVCS ?
  24. 24. PuissancePlein (il faut admettre: trop), de fonctionalités.
  25. 25. VitesseGit et Hg sont les deux allucinants et personne les bat.
  26. 26. SimplicitéNe pas confondre avec "faible courbe daprentissage". Cest linvèrse du jeu déchecs.
  27. 27. SécuriséOn peut utiliser/obliger les clefs SSH pour ecrire sur un depot et/ou lire.
  28. 28. Devenu lingua francaEn 2009 persone maurait convaincu que jécrirais ça un jour
  29. 29. GitHubCar le reseau social est une bonne idéee aussi pour le travail.
  30. 30. Où utiliser Git?
  31. 31. Sur chaque fichier qui sera édité. Toujours. Pas dexceptions.
  32. 32. Quand utiliser git?
  33. 33. À chaque édition. Toujours. Pas dexceptions.
  34. 34. Qui doit utiliser Git?
  35. 35. Cette présentation vise deux publiques.
  36. 36. Tout être humain voulant "chercher bonheur". Vous éditez des fichiers? Continuons donc!
  37. 37. Tout être humain voulant "gêrer des projets"Vous produisez des fichiers en équipe? Continuons donc!
  38. 38. Comment utiliser Git?
  39. 39. Partie II: Git tout seuldans sa machine sans connection Oui ça vaut largement déjà le coup!
  40. 40. Il faut un client git Trois parfums
  41. 41. Vous êtes dev?Vous avez donc déjà un Environnement de Dev?
  42. 42. Intégrez Git a votre Environnement! Eclipse: Egit Emacs: Magit Vim: vim-fugitive Sublime Text 2: sublime-text-2-git
  43. 43. Pas Dev; pas peur du terminal?
  44. 44. La ligne de commande est votre amie. git tout court donc, dans toute sa puissance.
  45. 45. Et si jai peur du terminal?
  46. 46. Dans cette présentation je vous prends par la main et peut être après vous naurez plus peur.
  47. 47. Et si après jai toujours peur du terminal?
  48. 48. git-colaou bien gitg, giggle, gitk+git-gui etc.
  49. 49. Pas à paspour apprendre git, il vaut mieux utiliser un peu
  50. 50. Créez un repertoire de test la où vous voulez, disons: mkdir -p ~/git-test; cd ~/git-test
  51. 51. Créez un fichier de votre choixvotre oeuvre litteraire a vous, un programme, disons: echo "mon merveilleux fichier" > test.txt
  52. 52. git initon dit a git "Interesse toi a ce répértoire et ces sous- répértoires"
  53. 53. Nous avons maintenant un .git ls .git donne quoi?
  54. 54. HEAD Libellé comme un autre.point "le plus a jour", le "present" le "dernier commit".
  55. 55. git statusquel est ma situation actuelle?
  56. 56. Mon fichier nest pasencore pris en compte par git!
  57. 57. git commitJai fait des modifications/ajouts et veux que ils soient pris en compte.
  58. 58. Erreur!git connais pas le fichier.
  59. 59. Commit a deux étapes
  60. 60. dabord on un indexe des changements on apelle ça "stage": Jai fait des changements, garde les dans lecolimateur, il a dautres fortement associés que je dois finir.
  61. 61. git add <nom du fichier> disons git add test.txt. notez que le message de git status change.
  62. 62. puis: git commitJai fini un sous ensemble de modifications qui sont liés, je veux donner a eux une description.
  63. 63. On peut faire plusieursstage sur le même fichier
  64. 64. Et si le concept même de stage ne me sert a rien?
  65. 65. git commit -ane membete pas avec le stage et commite mes changements
  66. 66. A vous de jugezil ny a pas de "meilleure" manière, le stage est un outil optionnel a utiliser ou a oublier.
  67. 67. Que contient le passé de mon projet?
  68. 68. git logles gros chiffres incomprehensibles? identifiants uniques!
  69. 69. Messages de commit: fildArianne vers le passé
  70. 70. Quai je fait moi dans ce passé?
  71. 71. git log --author
  72. 72. Qua été fait depuis hier?
  73. 73. git log --since "yesterday"
  74. 74. memorisez le moins possible
  75. 75. Notez les commandes qui vous sont utiles qui vous utilisez vraiment
  76. 76. donnez des noms a ces commandesde noms à vous, personnels que votre cerveau souviendra
  77. 77. git config alias.<nom> <commande> git config alias.st status git config alias.lg "log --pretty=oneline --abbrev- commit --graph --decorate"loption --global les mets dans votre fichier de conf à vous
  78. 78. Voir le passé
  79. 79. git show <version>:<nom du fichier> git show HEAD~3:test.txt
  80. 80. Voire les differencesentre les fichiers actuels et HEAD
  81. 81. git diff
  82. 82. Entre lactuel est un point du passé
  83. 83. git diff <version> git diff head~3
  84. 84. Entre deux points du passé
  85. 85. git diff <version>.. <version> git diff HEAD~3..HEAD~4
  86. 86. Comment Ré-écrire lhistoire?
  87. 87. Je veux oublier des changements
  88. 88. git reset <version>Ne Jamais faire sur quelque chose quon publie. On ne réecrit pas de lhistoire déjà racconté!
  89. 89. Je veux regrouper des changements
  90. 90. git rebase -i <version>Aussi a ne faire que si on a pas publié linfo.
  91. 91. Je oublier deschangements en indiquant bien cela comme une action
  92. 92. git revert <version a oublier>
  93. 93. Petit commits frequents : plus de souplesse et pouvoir on peut mieux choisir quoi reverter dans le futuron peut toujours regrouper des petits commits dans un seul plus grand (squash)
  94. 94. les numero de versionunique sont indigestesJe veux donner un nom a une version spécifique
  95. 95. git tag <nom de la version> git tag 1.0git tag publiee_dans_la_newsletter_octobre_2012
  96. 96. Je veux travailler avecplusieurs visions du même document au même temps
  97. 97. les branches
  98. 98. git branch <branche>fait la creation de la branche, a partir de HEAD Ne va PAS a la branche
  99. 99. git checkout <branche> change de branche, va la branche choisie
  100. 100. cela prête à confusionOn peut un jur creer une branche et oublier de changer vers elle, faire des bêtises!
  101. 101. git checkout -b <branche> fait la creation de la branche et immediatementchange de branche (faites en un alias, utilisez toujours comme ça)
  102. 102. Consolider des branches en une seule
  103. 103. git merge <branche amerger sur lactuelle>
  104. 104. pas envie de garder la branche?
  105. 105. git branch -d <branche a effacer>on a pas besoin de griller des neurones a inventer de tres bons nos pour des branches temporaires quon effacera juste après
  106. 106. On a toujours une branche celle par defaut sapelle master
  107. 107. Utilisez de branches!
  108. 108. Utilisez-les souvent!avant de demarrer chaque nouvelle direction dans les fichier du projet; chaque nouvelle idée; chaque nouvelle demande.
  109. 109. Pourquoi?
  110. 110. Jongle entre une versionconnue et celle en cours très vite
  111. 111. idées et experimentations dans un coin prévu.
  112. 112. gestion de version sur les idéesque je peux, finalement, abandoner sans rien toucher de mon historique
  113. 113. Jévite une infinité de problèmes. 99% des fois que jaide quelquun avec un "problème" sur git: le problème naurait jamais existé si lapersonne au depart de son changement avait crée une branche!
  114. 114. Partie III : Git avec des remotes "serveurs distants"
  115. 115. prendre une copie dun depot distantelle deviendra locale, une reference au depot distant sera faite sur le nom par defaut origin
  116. 116. git clone <url du depot>git clone https://github.com/malk/git-playback.git
  117. 117. ajouter un remote pour les même projet on peut avoir beaucoupgenre un du client, un pour chaque collaborateur, etc.
  118. 118. git remote add <nom> <url>git remote add mmozuras https://github. com/mmozuras/git-playback.git
  119. 119. On a nos remotes
  120. 120. prendre les changements distants copies à coté, mes fichiers ne changent pas
  121. 121. git fetch <remote> <branche> git fetch mmozuras master
  122. 122. Incorporer deschangements distants déjà récupérés par un fetch
  123. 123. On sait déjà faire ça! cest une branche comme une autre!
  124. 124. On fait un merge!
  125. 125. git merge origin/masterje merge la branche master dans origin ( origin/master ) dans ma branche actuelle (je choisit lactuelle avec un checkout)
  126. 126. On ne merge que la version déjà "fetché"si on oublie le fetch on merge une version peut etre déjà vieille
  127. 127. Confusion possible comment éviter?
  128. 128. git pull <remote> <branche> git pull origin masterfait un fetch puis un merge: plus doubli.
  129. 129. Incorporer changements locaux dans branche distante Si nous avons les permissions!
  130. 130. git push <remote> <branche> git push --tags origin masterloption tags fait un push des tags créees aussi
  131. 131. Avant tout push● Un petit git status ○ Suis-je au bon endroit? sinon checkout. ○ Il manque quelquechose a comitter? on ne push que HEAD!● Je fait un pull de la branche distante● Jincorpore tout, événtuel, changement● resout tout, éventuel, conflit: les commiter.● Cest bon je peux "pusher".Suivez cette checklistça vous évitera des soucis!
  132. 132. Partie IV : Gestion de projetOn doit produire de choses ensemble: évitons le chaos
  133. 133. Workflow
  134. 134. Processus de travailComment jenchaine les diverses étapes de travail pour produire.
  135. 135. Plusieurs VCS contrainent ou forcent un workflow
  136. 136. Git permet une infinité un aperçu kernel.org/pub/software/scm/git/docs/gitworkflows.html
  137. 137. Dont plusieursincompatibles!
  138. 138. Si vous ne choisissez pas un workflow pour vous
  139. 139. Vous avez un sans se rendre compte, naturellement Ou peut être plusieurs!
  140. 140. Si vous ne choisissez pas un pour votre équipe
  141. 141. Vous avez surement déjà plusieurs!Jespere quils soient tous compatibles! La chance!
  142. 142. Cela peut engendrer dès problèmes
  143. 143. Trouvez donc un workflow!Deux bonnes heures bien investies! Je peux vous aider au pire.
  144. 144. Definissez les phases devie de votre productionCréation? Consolidation? mise en prod? hotfix? quoi dautre? Tout ça ça deviens de branches.
  145. 145. Definissez les intercations entre ces phaseset transformez-les en alias/script git avec des noms quont un sens pour votre équipe.
  146. 146. Et vous aurez un workflow mon point de départ favori: http://nvie.com/posts/a-successful-git-branching- model/
  147. 147. Quel commit a inséré ce bug?
  148. 148. git bisecton declare des versions comme ayant ou pas le bug (on teste a chaque fois) et par dichotomie ils nous aide a retrouver la version qua inseré le bug
  149. 149. Qui a inseré cette ligne dans le fichier?
  150. 150. git blameDonne auteur par ligne (--L pour limiter les lignes)
  151. 151. Où a-t-on écrit tel truc? Entre mes fichiers au sein dun projet?
  152. 152. git grepcomme grep, mais dans larbre de fichiers controlé par git
  153. 153. Voire leffet des commitsde quelquun comme unslideshow de son travail
  154. 154. git playbackhttps://github.com/mmozuras/git-playbackgénère un fichier html avec un tel slideshow
  155. 155. Aprendre git a resoudre un conflit dune manière comme on a déjà fait avantlapprendre a suivre nos habitudes et donc économiser du temps.
  156. 156. git ReReRe faut dabord activergit config --global rerere.enabled 1 après ça la commande marche
  157. 157. ouvrir un serveur http tournant une page en navigation delarborescence dun depot git
  158. 158. git instaweb (javais dit: trop ;)
  159. 159. Devenir un pro du git

×