Parcourir la source

relecture dépot local (TODO refaire les captures)

Julien Dehos il y a 8 ans
Parent
commit
7a1d6bc1d4
3 fichiers modifiés avec 34 ajouts et 28 suppressions
  1. 2 2
      depot_distant.md
  2. 30 24
      depot_local.md
  3. 2 2
      index.md

+ 2 - 2
depot_distant.md

@@ -172,11 +172,11 @@ gérer vos dépôts distants
 - créez un dépôt sur le serveur gogs et récupérez-le dans un dépôt local
 - créez un dépôt sur le serveur gogs et récupérez-le dans un dépôt local
 - ajoutez/committez/pushez quelques fichiers et vérifiez sur le site gogs que
 - ajoutez/committez/pushez quelques fichiers et vérifiez sur le site gogs que
   les modifications sont bien sur le serveur
   les modifications sont bien sur le serveur
-- clonez votre dépôt distant dans un second dépôt local; committez/pushez
+- clonez votre dépôt distant dans un second dépôt local; committez/pushez
   depuis ce second dépôt puis synchronisez le premier dépôt local et vérifiez
   depuis ce second dépôt puis synchronisez le premier dépôt local et vérifiez
 que vous y récupérez bien les modifications réalisées dans le second
 que vous y récupérez bien les modifications réalisées dans le second
 - modifiez une même ligne d'un même fichier en parallèle sur les deux dépôts
 - modifiez une même ligne d'un même fichier en parallèle sur les deux dépôts
-  locaux; vérifiez que vous avez bien un conflit, résolvez-le et synchronisez
+  locaux; vérifiez que vous avez bien un conflit, résolvez-le et synchronisez
 tout le monde
 tout le monde
 
 
 * * * * *
 * * * * *

+ 30 - 24
depot_local.md

@@ -29,7 +29,7 @@ sûr(e) de ce que vous faites.
 ## Afficher l'état d'un dépôt
 ## Afficher l'état d'un dépôt
 
 
 La commande `git status` affiche l'état courant du dépôt : nouveaux fichiers,
 La commande `git status` affiche l'état courant du dépôt : nouveaux fichiers,
-fichiers modifiés, fichiers supprimés.  Cette commande est très sûre; elle ne
+fichiers modifiés, fichiers supprimés.  Cette commande est très sûre; elle ne
 peut rien casser.  N'hésitez donc pas à la lancer pour voir où vous en êtes.
 peut rien casser.  N'hésitez donc pas à la lancer pour voir où vous en êtes.
 
 
 ![](depot_local_02.png)
 ![](depot_local_02.png)
@@ -61,6 +61,7 @@ commits (journalisation), ce qu'on peut vérifier avec un `git status`.
 
 
 Si on représente le graphe des commits correspondant à notre projet,
 Si on représente le graphe des commits correspondant à notre projet,
 on a pour l'instant qu'un état courant non validé.
 on a pour l'instant qu'un état courant non validé.
+
 ![](depot_local_07.svg)
 ![](depot_local_07.svg)
 
 
 ## Valider les modifications (commit)
 ## Valider les modifications (commit)
@@ -78,6 +79,9 @@ Git lance alors l'éditeur de texte pour le message de commit.
 Le message est pré-rempli 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
 informations vous permettent de vérifier que le commit correspond bien à ce que
 vous voulez mais ne feront pas partie du message final.
 vous voulez mais ne feront pas partie du message final.
+On peut spécifier le message de commit directement dans la ligne de commande
+avec `git commit -a -m "mon message"` ou plus simplement `git commit -am "mon
+message"`.
 
 
 Écrivez un message expliquant rapidement les modifications que vous êtes en
 Écrivez un message expliquant rapidement les modifications que vous êtes en
 train de valider puis enregistrez et quittez. 
 train de valider puis enregistrez et quittez. 
@@ -132,12 +136,13 @@ commité, le `master` correspondant toujours au dernier commit.
 
 
 ![](depot_local_15.svg)
 ![](depot_local_15.svg)
 
 
-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)).
+Il est courant 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)
 ![](depot_local_16.png)
 
 
+Sous Linux et Mac, la commande `echo` permet d'ajouter du texte dans un fichier.
 Après ce `git commit`, on a un nouveau commit correspondant au `master` et au
 Après ce `git commit`, on a un nouveau commit correspondant au `master` et au
 `HEAD`.
 `HEAD`.
 
 
@@ -199,8 +204,8 @@ ainsi dans un mode "détaché" (`HEAD` ne pointe plus sur un commit terminal).
 
 
 Au lieu d'utiliser le numéro de commit, on peut également utiliser les
 Au lieu d'utiliser le numéro de commit, on peut également utiliser les
 étiquettes : par exemple `git checkout master` pour aller au dernier commit
 étiquettes : par exemple `git checkout master` pour aller au dernier commit
-principal ou `git checkout HEAD~1` pour aller au commit précédent le commit
-courant.
+principal ou `git checkout HEAD~1` pour aller à 1 commit avant le commit
+courant...
 
 
 ## Marquer un commit
 ## Marquer un commit
 
 
@@ -213,15 +218,16 @@ une version ou pour pouvoir revenir plus facilement à un commit particulier.
 
 
 ## Supprimer des commits précédents
 ## Supprimer des commits précédents
 
 
-La commande `git reset 073...` revient au commit "073..." et annule tous les
-commits suivant (jusqu'à l'ancien `master`). Les modifications correspondant à
-ces commits sont regroupées dans l'état courant, non commité.
+La commande `git reset 073...` place le `master` sur le commit "073..." et
+supprime tous les commits suivants **sans supprimer les modifications
+correspondantes**, qui sont alors regroupées dans l'état courant, non commité.
 
 
 ![](depot_local_checkout_04.svg)
 ![](depot_local_checkout_04.svg)
 
 
-Autre possibilité : la commande `git reset --hard 073...` revient au commit
-"073..." et annule tous les commits suivant **en supprimant les modifications
-correspondantes**.
+La commande `git reset --hard 073...` est équivalente à la commande précédente
+sauf qu'elle **supprime les modifications correspondantes**.
+Les fichiers sont donc remis dans l'état du commit "073...", et `master` et
+`HEAD` pointent vers ce commit.
 
 
 ![](depot_local_checkout_05.svg)
 ![](depot_local_checkout_05.svg)
 
 
@@ -246,21 +252,21 @@ Résumé des commandes git précédentes :
 
 
 Quelques conseils de méthode de travail :
 Quelques conseils de méthode de travail :
 
 
-- privilégiez les petits dépôts, correspondant à différents travaux, plutôt
-  qu'un gros dépôt regroupant tous vos travaux de l'année
-- faites des commits réguliers et correspondant aux petites tâches successives 
-- évitez de commiter un projet cassé (par exemple, du code qui ne compile pas)
-- ne versionnez pas les fichiers auto-générés
+- Privilégiez les petits dépôts, correspondant à différents travaux, plutôt
+  qu'un gros dépôt regroupant tous vos travaux de l'année.
+- Faites des commits réguliers et correspondant à des petites tâches successives. 
+- Évitez de commiter un projet cassé (par exemple, du code qui ne compile pas).
+- Ne versionnez pas les fichiers auto-générés.
 
 
 ## Exercice
 ## Exercice
 
 
-- créez un nouveau dépôt local, ajoutez des fichiers et faites quelques
-  commits; affichez l'état du dépôt à chaque étape
-- renommez et supprimez quelques fichiers
-- affichez l'historique des commits et revenez dans un état précédent du dépot
-- ajoutez une étiquette à un ancien commit et vérifiez que vous la voyez dans
-  l'historique des commits ou avec un client git graphique
-- testez les suppressions de commits
+- Créez un nouveau dépôt local, ajoutez des fichiers et faites quelques
+  commits; affichez l'état du dépôt à chaque étape.
+- Renommez et supprimez quelques fichiers.
+- Affichez l'historique des commits et revenez dans un état précédent du dépot.
+- Ajoutez une étiquette à un ancien commit et vérifiez que vous la voyez dans
+  l'historique des commits ou avec un client git graphique.
+- Testez les suppressions de commits.
 
 
 * * * * *
 * * * * *
 
 

+ 2 - 2
index.md

@@ -38,7 +38,7 @@ en parallèle »
 - **synchronisation** : « je travaille sur plusieurs postes différents et je
 - **synchronisation** : « je travaille sur plusieurs postes différents et je
   peux synchroniser mes fichiers facilement entre les postes ».
   peux synchroniser mes fichiers facilement entre les postes ».
 - **travail en équipe** : « mes collègues et moi travaillons sur des fichiers
 - **travail en équipe** : « mes collègues et moi travaillons sur des fichiers
-  communs; les modifications de chacun sont retransmises aux autres; les
+  communs; les modifications de chacun sont retransmises aux autres; les
 éventuels conflits sont détectés ».
 éventuels conflits sont détectés ».
 - **projets publics ou privés** : « je peux créer des projets publics, visibles
 - **projets publics ou privés** : « je peux créer des projets publics, visibles
   par tout le monde (ou uniquement par les personnes identifiées à
   par tout le monde (ou uniquement par les personnes identifiées à
@@ -59,7 +59,7 @@ de chaque fichier.  On appelle "commit" un état sauvegardé de ces modification
 (une version du projet en quelque sorte).
 (une version du projet en quelque sorte).
 
 
 Généralement, on modifie le projet à partir de la version précédente et ansi de
 Généralement, on modifie le projet à partir de la version précédente et ansi de
-suite; ce qui correspond à une succession de commits :
+suite; ce qui correspond à une succession de commits :
 
 
 ![](concepts_commits_1.svg)
 ![](concepts_commits_1.svg)