|
@@ -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`.
|
|
|
|
|
|

|
|
|
|
|
@@ -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`.
|
|
|

|
|
|
|
|
|
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.
|
|
|
|
|
|

|
|
|
|
|
|
-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`.
|
|
|
|
|
|

|
|
|
|
|
@@ -239,35 +239,100 @@ Vous pouvez le vérifier avec un `git status`.
|
|
|
|
|
|

|
|
|
|
|
|
+### 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 :
|
|
|
|
|
|

|
|
|
|
|
|
+des fichiers intermédiaires sont créés et apparaissent lors des `git status` :
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Pour les ignorer, il suffit d'ajouter un fichier `.gitignore` et d'y indiquer
|
|
|
+les fichiers à ignorer.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Ainsi, il n'apparaissent plus lors des `git status`.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+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)).
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+### 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).
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+De même, la commande `git rm` permet de supprimer un fichier versionné.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
### Afficher l'historique des commits
|
|
|
|
|
|
-
|
|
|
+Faisons d'abord une modification "commitée" puis une autre non commitée.
|
|
|
|
|
|
+
|
|
|
|
|
|
+La commande `git log` permet d'afficher l'historique des commits.
|
|
|
|
|
|
+
|
|
|
|
|
|
-### Revenir à un commit précédent
|
|
|
+On peut également le voir avec un client graphique graphique comme `gitg`.
|
|
|
|
|
|
+
|
|
|
|
|
|
-TODO
|
|
|
+Le "unstaged" correspond aux modifications courantes non commitées.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+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)
|