Julien Dehos il y a 8 ans
Parent
commit
10cfafcf33

BIN
depot_local_12.png


BIN
depot_local_13.png


BIN
depot_local_14.png


BIN
depot_local_15.png


BIN
depot_local_16.png


BIN
depot_local_17.png


BIN
depot_local_18.png


BIN
depot_local_19.png


BIN
depot_local_20.png


BIN
depot_local_21.png


+ 35 - 0
depot_local_log.svg

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="600" height="100" >
+
+<circle cx="50" cy="50" r="30" stroke="black" stroke-width="3" fill="lightgreen"/>
+<text x="35" y="55" font-size="18"> a8... </text>
+
+<circle cx="150" cy="50" r="30" stroke="black" stroke-width="3" fill="lightgreen"/>
+<text x="135" y="55" font-size="18"> ff... </text>
+
+<circle cx="250" cy="50" r="30" stroke="black" stroke-width="3" fill="lightgreen"/>
+<text x="235" y="55" font-size="18"> 07... </text>
+
+<circle cx="350" cy="50" r="30" stroke="black" stroke-width="3" fill="lightgreen"/>
+<text x="335" y="55" font-size="18"> 7b... </text>
+
+<circle cx="450" cy="50" r="30" stroke="black" stroke-width="3" fill="lightgreen"/>
+<text x="435" y="55" font-size="18"> 59... </text>
+
+<circle cx="550" cy="50" r="30" stroke="black" stroke-width="2" fill="white"/>
+<text x="535" y="55" font-size="18"> </text>
+
+<defs>
+<marker id='head' orient="auto" markerWidth='4' markerHeight='8' refX='0.2' refY='3'>
+<path d='M0,0 V6 L3,3 Z' />
+</marker>
+</defs>
+
+<path marker-end='url(#head)' stroke-width='3' stroke='black' d='M80,50 L110,50' />
+<path marker-end='url(#head)' stroke-width='3' stroke='black' d='M180,50 L210,50' />
+<path marker-end='url(#head)' stroke-width='3' stroke='black' d='M280,50 L310,50' />
+<path marker-end='url(#head)' stroke-width='3' stroke='black' d='M380,50 L410,50' />
+<path marker-end='url(#head)' stroke-width='2' stroke='black' d='M480,50 L510,50' />
+
+</svg>
+

+ 77 - 12
index.md

@@ -164,7 +164,7 @@ dossier classique que l'on demande à git de versionner.
 
 ### Initialiser un dépôt
 
-Allez dans le dossier à versionner puis lancez la commande `git clone`. 
+Allez dans le dossier à versionner puis lancez la commande `git init`. 
 
 ![](depot_local_01.png)
 
@@ -214,7 +214,7 @@ commits (journalisation), ce qu'on peut vérifier avec un `git status`.
 
 Après avoir ajouté, modifié ou supprimé des fichiers, on peut valider les
 modifications, c'est-à-dire sauvegarder un état du projet (commit). Encore une
-fois, seul les fichiers qui ont été ajoutés au projet (avec `git add`) seront
+fois, seuls les fichiers qui ont été ajoutés au projet (avec `git add`) sont
 pris en compte. 
 
 La commande à lancer pour valider toutes les modifications est `git commit -a`.
@@ -222,7 +222,7 @@ La commande à lancer pour valider toutes les modifications est `git commit -a`.
 ![](depot_local_08.png)
 
 Git lance alors l'éditeur de texte pour le message de commit.
-Le message est pré-remplit avec des informations concernant le commit; ces
+Le message est pré-rempli avec des informations concernant le commit. Ces
 informations vous permettent de vérifier que le commit correspond bien à ce que
 vous voulez mais ne feront pas partie du message final.
 
@@ -231,7 +231,7 @@ train de valider puis enregistrez et quittez.
 
 ![](depot_local_09.png)
 
-Git créé alors le nouveau commit, validant le fichier `rapport_01.tex`.
+Git créé alors le nouveau commit, qui valide ici le fichier `rapport_01.tex`.
 
 ![](depot_local_10.png)
 
@@ -239,35 +239,100 @@ Vous pouvez le vérifier avec un `git status`.
 
 ![](depot_local_11.png)
 
+### Fichiers autogénérés et .gitignore
 
-### Renommer et supprimer des fichiers
+Git est très pratique pour gérer des fichiers textes que l'on modifie
+régulièrement. En revanche, il n'est pas adapté pour gérer des fichiers dans un
+format non-textuel (images, données compressées, documents word...).  Si on
+ajoute un tel fichier dans le dépôt alors à chaque modification, git stockera
+une nouvelle copie complète (au lieu de stocker uniquement les lignes qui ont
+changé), ce qui est inefficace.
 
+D'autre part, il est inutile de versionner les fichiers autogénérés (créés
+automatiquement lors de la compilation du code). Par exemple, si on compile le
+code latex de notre projet : 
 
 ![](depot_local_12.png)
 
+des fichiers intermédiaires sont créés et apparaissent lors des `git status` :
+
+![](depot_local_13.png)
+
+Pour les ignorer, il suffit d'ajouter un fichier `.gitignore` et d'y indiquer
+les fichiers à ignorer.
+
+![](depot_local_14.png)
+
+Ainsi, il n'apparaissent plus lors des `git status`.
+
+![](depot_local_15.png)
+
+Il est de pratique courante d'ajouter le `.gitignore` au dépôt, ainsi qu'un
+fichier `README.md` qui servira de page d'accueil (au format
+[markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)).
+
+![](depot_local_16.png)
+
+
+### Renommer et supprimer des fichiers
+
+La commande `git mv` permet de renommer un fichier versionné. Il ne faut pas
+utiliser la commande système (`mv`) car dans ce cas git ne saura pas qu'il faut
+renommer le fichier (il pensera que le fichier manque et essaiera de le
+recréer).
+
+![](depot_local_17.png)
+
+De même, la commande `git rm` permet de supprimer un fichier versionné.
+
+![](depot_local_18.png)
+
 
 ### Afficher l'historique des commits
 
-![](depot_local_13.png)
+Faisons d'abord une modification "commitée" puis une autre non commitée.
 
+![](depot_local_19.png)
 
+La commande `git log` permet d'afficher l'historique des commits.
 
+![](depot_local_20.png)
 
-### Revenir à un commit précédent
+On peut également le voir avec un client graphique graphique comme `gitg`.
 
+![](depot_local_21.png)
 
-TODO
+Le "unstaged" correspond aux modifications courantes non commitées.
+
+![](depot_local_log.svg)
+
+a8...
+ff...
+07...
+7b...
+59...
 
-### Annuler des commits 
+a8b24fd52f55495b07a486a16f684dab25789285
+ff07d510a081863053d27d4107a0da0039c2d2e0
+073437274cb37c7d50afbed20341b76984a8a8a6
+7b3e3b9d501892bdbbfd4c7592221535d9c16399
+59d966459ea11b56464bfa0b23ea85465b3c0bc4
 
-### Bonne pratique concernant la journalisation
 
-.gitignore
-conseil sur les fichiers générés et les fichiers de données
+### Supprimer les modifications courantes
+
+### Supprimer des commits précédents
+
+### Revenir à un commit précédent (sans suppression)
+
+
+TODO
 
 
 ### Exercice
 
+
+
 * * * * *
 
 ## Dépôt distant (sauvegarder un projet sur un serveur)