Skip to content

Commit a6a914b

Browse files
committed
Retravaille en synchronisation de structure ch1-3
1 parent 77be564 commit a6a914b

20 files changed

+709
-198
lines changed

book/01-introduction/sections/about-version-control.asc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
== À propos de la gestion de version
1+
=== À propos de la gestion de version
22

33
(((gestion de version)))
44
Qu'est-ce que la gestion de version et pourquoi devriez-vous vous en soucier ?
@@ -10,7 +10,7 @@ Il vous permet de ramener un fichier à un état précédent, de ramener le proj
1010
Utiliser un VCS signifie aussi généralement que si vous vous trompez ou que vous perdez des fichiers, vous pouvez facilement revenir à un état stable.
1111
De plus, vous obtenez tous ces avantages avec peu de travail additionnel.
1212

13-
=== Les systèmes de gestion de version locaux
13+
==== Les systèmes de gestion de version locaux
1414

1515
(((gestion de version,locale)))
1616
La méthode courante pour la gestion de version est généralement de recopier les fichiers dans un autre répertoire (peut-être avec un nom incluant la date dans le meilleur des cas).
@@ -25,7 +25,7 @@ image::images/local.png[Diagramme de gestion de version locale]
2525
Un des systèmes les plus populaires était RCS, qui est encore distribué avec de nombreux systèmes d'exploitation aujourd'hui.
2626
Cet outil fonctionne en conservant des ensembles de patchs (c'est-à-dire la différence entre les fichiers) d'une version à l'autre dans un format spécial sur disque ; il peut alors restituer l'état de n'importe quel fichier à n'importe quel instant en ajoutant toutes les différences.
2727

28-
=== Les systèmes de gestion de version centralisés
28+
==== Les systèmes de gestion de version centralisés
2929

3030
(((gestion de version, centralisée)))
3131
Le problème majeur que les gens rencontrent est qu'ils ont besoin de collaborer avec des développeurs sur d'autres ordinateurs.
@@ -46,7 +46,7 @@ Si ce serveur est en panne pendant une heure, alors durant cette heure, aucun cl
4646
Si le disque dur du serveur central se corrompt, et s'il n'y a pas eu de sauvegarde, vous perdez absolument tout de l'historique d'un projet en dehors des sauvegardes locales que les gens auraient pu réaliser sur leurs machines locales.
4747
Les systèmes de gestion de version locaux souffrent du même problème — dès qu'on a tout l'historique d'un projet sauvegardé à un endroit unique, on prend le risque de tout perdre.
4848

49-
=== Les systèmes de gestion de version distribués
49+
==== Les systèmes de gestion de version distribués
5050

5151
(((gestion de version, distribuée)))
5252
C'est à ce moment que les systèmes de gestion de version distribués entrent en jeu (DVCS en anglais pour _Distributed Version Control Systems_).

book/01-introduction/sections/basics.asc

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
== Rudiments de Git
1+
=== Rudiments de Git
22

33
Donc, qu'est-ce que Git en quelques mots ?
44
Il est important de bien comprendre cette section, parce que si on comprend la nature de Git et les principes sur lesquels il repose, alors utiliser efficacement Git devient simple.
55
Au cours de l'apprentissage de Git, essayez de libérer votre esprit de ce que vous pourriez connaître d'autres VCS, tels que Subversion et Perforce ; ce faisant, vous vous éviterez de petites confusions à l'utilisation de cet outil.
66
Git enregistre et gère l'information très différemment des autres systèmes, même si l'interface utilisateur paraît similaire ; comprendre ces différences vous évitera des surprises.(((Subversion)))(((Perforce)))
77

8-
=== Des instantanés, pas des différences
8+
==== Des instantanés, pas des différences
99

1010
La différence majeure entre Git et les autres VCS (Subversion et autres) réside dans la manière dont Git considère les données.
1111
Au niveau conceptuel, la plupart des autres systèmes gèrent l'information comme une liste de modifications de fichiers.
@@ -20,15 +20,15 @@ Git ne gère pas et ne stocke pas les informations de cette manière.
2020
Pour être efficace, si les fichiers n'ont pas changé, Git ne stocke pas le fichier à nouveau, juste une référence vers le fichier original qu'il a déjà enregistré.
2121
Git pense ses données plus à la manière d'un *flux d'instantanés*.
2222

23-
.Git stocke les données comme des instantanés du projet au cours du temps.
23+
.Stockage des données comme des instantanés du projet au cours du temps.
2424
image::images/snapshots.png[Git stocke les données comme des instantanés du projet au cours du temps.]
2525

2626
C'est une distinction importante entre Git et quasiment tous les autres VCS.
2727
Git a reconsidéré quasiment tous les aspects de la gestion de version que la plupart des autres systèmes ont copiés des générations précédentes.
2828
Git ressemble beaucoup plus à un mini système de fichiers avec des outils incroyablement puissants construits dessus, plutôt qu'à un simple VCS.
2929
Nous explorerons les bénéfices qu'il y a à penser les données de cette manière quand nous aborderons la gestion de branches dans <<ch03-git-branching#ch03-git-branching>>.
3030

31-
=== Presque toutes les opérations sont locales
31+
==== Presque toutes les opérations sont locales
3232

3333
La plupart des opérations de Git ne nécessitent que des fichiers et ressources locaux — généralement aucune information venant d'un autre ordinateur du réseau n'est nécessaire.
3434
Si vous êtes habitué à un CVCS où toutes les opérations sont ralenties par la latence des échanges réseau, cet aspect de Git vous fera penser que les dieux de la vitesse ont octroyé leurs pouvoirs à Git.
@@ -46,7 +46,7 @@ Avec Perforce par exemple, vous ne pouvez pas faire grand-chose tant que vous n'
4646
Avec Subversion ou CVS, vous pouvez éditer les fichiers, mais vous ne pourrez pas soumettre des modifications à votre base de données (car celle-ci est sur le serveur non accessible).
4747
Cela peut sembler peu important a priori, mais vous seriez étonné de découvrir quelle grande différence cela peut constituer à l'usage.
4848

49-
=== Git gère l'intégrité
49+
==== Git gère l'intégrité
5050

5151
Dans Git, tout est vérifié par une somme de contrôle avant d'être stocké et par la suite cette somme de contrôle, signature unique, sert de référence.
5252
Cela signifie qu'il est impossible de modifier le contenu d'un fichier ou d'un répertoire sans que Git ne s'en aperçoive.
@@ -65,7 +65,7 @@ Une empreinte SHA-1 ressemble à ceci :
6565
Vous trouverez ces valeurs à peu près partout dans Git car il les utilise pour tout.
6666
En fait, Git stocke tout non pas avec des noms de fichiers, mais dans la base de données Git indexée par ces valeurs.
6767

68-
=== Généralement, Git ne fait qu'ajouter des données
68+
==== Généralement, Git ne fait qu'ajouter des données
6969

7070
Quand vous réalisez des actions dans Git, la quasi-totalité d'entre elles ne font qu'ajouter des données dans la base de données de Git.
7171
Il est très difficile de faire réaliser au système des actions qui ne soient pas réversibles ou de lui faire effacer des données d'une quelconque manière.
@@ -74,18 +74,19 @@ Par contre, comme dans la plupart des systèmes de gestion de version, vous pouv
7474
Cela fait de l'usage de Git un vrai plaisir, car on peut expérimenter sans danger de casser définitivement son projet.
7575
Pour une information plus approfondie sur la manière dont Git stocke ses données et comment récupérer des données qui pourraient sembler perdues, référez-vous à <<ch02-git-basics#s_undoing>>.
7676

77-
=== Les trois états
77+
==== Les trois états
7878

7979
Un peu de concentration maintenant.
8080
Il est primordial de se souvenir de ce qui suit si vous souhaitez que le reste de votre apprentissage s'effectue sans difficulté.
81-
Git gère trois états dans lesquels les fichiers peuvent résider : validé, modifié et indexé.
82-
Validé signifie que les données sont stockées en sécurité dans votre base de données locale.
83-
Modifié signifie que vous avez modifié le fichier mais qu'il n'a pas encore été validé en base.
84-
Indexé signifie que vous avez marqué un fichier modifié dans sa version actuelle pour qu'il fasse partie du prochain instantané du projet.
81+
Git gère trois états dans lesquels les fichiers peuvent résider : _modifié_, _indexé_ et _validé_.
82+
83+
* Modifié signifie que vous avez modifié le fichier mais qu'il n'a pas encore été validé en base.
84+
* Indexé signifie que vous avez marqué un fichier modifié dans sa version actuelle pour qu'il fasse partie du prochain instantané du projet.
85+
* Validé signifie que les données sont stockées en sécurité dans votre base de données locale.
8586

8687
Ceci nous mène aux trois sections principales d'un projet Git : le répertoire Git, le répertoire de travail et la zone d'index.
8788

88-
.Répertoire de travail, zone d'index et répertoire Git.
89+
.Répertoire de travail, zone d'index et répertoire Git
8990
image::images/areas.png["Répertoire de travail, zone d'index et répertoire Git."]
9091

9192
Le répertoire Git est l'endroit où Git stocke les méta-données et la base de données des objets de votre projet.

book/01-introduction/sections/command-line.asc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
== La ligne de commande
1+
=== La ligne de commande
22

33
Il existe de nombreuses manières différentes d'utiliser Git.
44
Il y a les outils originaux en ligne de commande et il y a de nombreuses interfaces graphiques avec des capacités variables.

book/01-introduction/sections/first-time-setup.asc

Lines changed: 65 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,35 @@
11
[[s_first_time]]
2-
== Paramétrage à la première utilisation de Git
2+
=== Paramétrage à la première utilisation de Git
33

44
Maintenant que vous avez installé Git sur votre système, vous voudrez personnaliser votre environnement Git.
55
Vous ne devriez avoir à réaliser ces réglages qu'une seule fois ; ils persisteront lors des mises à jour.
66
Vous pouvez aussi les changer à tout instant en relançant les mêmes commandes.
77

8-
Git contient un outil appelé `git config` pour vous permettre de voir et modifier les variables de configuration qui contrôlent tous les aspects de l'apparence et du comportement de Git.
8+
Git contient un outil appelé `git config` pour vous permettre de voir et modifier les variables de configuration qui contrôlent tous les aspects de l'apparence et du comportement de Git.(((commandes git, config)))
99
Ces variables peuvent être stockées dans trois endroits différents :
1010

11-
* Fichier `/etc/gitconfig` : Contient les valeurs pour tous les utilisateurs et tous les dépôts du système.
12-
Si vous passez l'option `--system` à `git config`, il lit et écrit ce fichier spécifiquement.
13-
* Fichier `~/.gitconfig` : Spécifique à votre utilisateur.
14-
Vous pouvez forcer Git à lire et écrire ce fichier en passant l'option `--global`.
15-
* Fichier `config` dans le répertoire Git (c'est-à-dire `.git/config`) du dépôt en cours d'utilisation : spécifique au seul dépôt en cours.
11+
1. `[chemin]/etc/gitconfig` : Contient les valeurs pour tous les utilisateurs et tous les dépôts du système. Si vous passez l'option `--system` à `git config`, il lit et écrit ce fichier spécifiquement. Parce que c'est un fichier de configuration au niveau système, vous aurez besoin de privilèges admnistrateur ou super-utilisateur pour le modifier.
12+
2. Fichier `~/.gitconfig` : Spécifique à votre utilisateur.
13+
Vous pouvez forcer Git à lire et écrire ce fichier en passant l'option `--global` et cela affecte _tous_ les dépôts avec lesquels vous travaillez sur ce système.
14+
3. Fichier `config` dans le répertoire Git (c'est-à-dire `.git/config`) du dépôt en cours d'utilisation : spécifique au seul dépôt en cours.
15+
Vous pouvez forcer Git à lire et écrire dans ce fichier avec l'option `--local``, mais c'est en fait l'option par défaut.
16+
Sans surprise, le répertoire courant doit être dans un dépôt Git pour que cette fonctionne correctement.
1617

17-
Chaque niveau surcharge le niveau précédent, donc les valeurs dans `.git/config` surchargent celles de `/etc/gitconfig`.
18+
Chaque niveau surcharge le niveau précédent, donc les valeurs dans `.git/config` surchargent celles de `[chemin]/etc/gitconfig`.
1819

1920
Sur les systèmes Windows, Git recherche le fichier `.gitconfig` dans le répertoire `$HOME` (`%USERPROFILE%` dans l’environnement natif de Windows) qui est `C:\Documents and Settings\$USER` ou `C:\Users\$USER` la plupart du temps, selon la version (`$USER` devient `%USERNAME%` dans l’environnement de Windows).
2021
Il recherche tout de même `/etc/gitconfig`, bien qu'il soit relatif à la racine MSys, qui se trouve où vous aurez décidé d'installer Git sur votre système Windows.
2122
Si vous utilisez une version 2.x ou supérieure de Git pour Windows, il y a aussi un fichier de configuration système à `C:\Documents and Settings\All Users\Application Data\Git\config` sur Windows XP, et dans `C:\ProgramData\Git\config` sur Windows Vista et supérieur.
2223
Ce fichier de configuration ne peut être modifié qu'avec la commande `git config -f <fichier>` en tant qu'administrateur.
2324

24-
=== Votre identité
25+
Vous pouvez voir tous vos paramétrages et d'où ils viennent en utilisant :
26+
27+
[source,console]
28+
----
29+
$ git config --list --show-origin
30+
----
31+
32+
==== Votre identité
2533

2634
La première chose à faire après l'installation de Git est de renseigner votre nom et votre adresse de courriel.
2735
C'est une information importante car toutes les validations dans Git utilisent cette information et elle est indélébile dans toutes les validations que vous pourrez réaliser :
@@ -37,25 +45,54 @@ Si vous souhaitez surcharger ces valeurs avec un nom ou une adresse de courriel
3745

3846
De nombreux outils graphiques vous aideront à le faire la première fois que vous les lancerez.
3947

40-
=== Votre éditeur de texte
48+
==== Votre éditeur de texte
4149

4250
À présent que votre identité est renseignée, vous pouvez configurer l'éditeur de texte qui sera utilisé quand Git vous demande de saisir un message.
4351
Par défaut, Git utilise l'éditeur configuré au niveau système, qui est généralement Vi ou Vim.
52+
4453
Si vous souhaitez utiliser un éditeur de texte différent, comme Emacs, vous pouvez entrer ce qui suit :
4554

4655
[source,console]
4756
----
4857
$ git config --global core.editor emacs
4958
----
5059

60+
On a Windows system, if you want to use a different text editor, you must specify the full path to its executable file.
61+
This can be different depending on how your editor is packaged.
62+
63+
In the case of Notepad++, a popular programming editor, you are likely to want to use the 32-bit version, since at the time of writing the 64-bit version doesn't support all plug-ins.
64+
If you are on a 32-bit Windows system, or you have a 64-bit editor on a 64-bit system, you'll type something like this:
65+
66+
[source,console]
67+
----
68+
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
69+
----
70+
71+
[NOTE]
72+
====
73+
Vim, Emacs et Notepad++ sont des éditeurs de texte populaires chez les développeurs sur les systèmes à base Unix tels que Linux et macOS.
74+
Si vous utilisez un autre éditeur, ou une version 32-bit, veuillez trouver des instructions spécifiques sur la mise en place de votre éditeur favori avec Git dans <<C-git-commands#ch_core_editor>>.
75+
====
76+
5177
[WARNING]
5278
====
53-
Vim et Emacs sont des éditeurs de texte populaires chez les développeurs sur les systèmes à base Unix tels que Linux et macOS.
54-
Si vous n'êtes habitué à aucun de ces deux éditeurs ou utilisez un système Windows, il se peut que vous deviez chercher les instructions pour renseigner votre éditeur favori.
55-
Si vous ne renseignez pas un éditeur et ne connaissez pas Vim ou Emacs, vous risquez fort d'avoir des surprises lorsqu'ils démarreront.
79+
Si vous ne renseignez pas un éditeur et ne connaissez pas Vim ou Emacs, vous risquez fort d'avoir des surprises lorsque Git tentera de les démarrera.
80+
Sous Windows par exemple, l'opération de Git pourrait être terminée prématurément pendant une demande de Git à saisir un texte.
5681
====
5782

58-
=== Vérifier vos paramètres
83+
==== Your default branch name
84+
85+
By default Git will create a branch called _master_ when you create a new repository with `git init`.
86+
From Git version 2.28 onwards, you can set a different name for the initial branch.
87+
88+
To set _main_ as the default branch name do:
89+
90+
[source,console]
91+
----
92+
$ git config --global init.defaultBranch main
93+
----
94+
95+
==== Vérifier vos paramètres
5996

6097
Si vous souhaitez vérifier vos réglages, vous pouvez utiliser la commande `git config --list` pour lister tous les réglages que Git a pu trouver jusqu'ici :
6198

@@ -71,8 +108,8 @@ color.diff=auto
71108
72109
----
73110

74-
Vous pourrez voir certains paramètres apparaître plusieurs fois car Git lit les mêmes paramètres depuis plusieurs fichiers (`/etc/gitconfig` et `~/.gitconfig`, par exemple).
75-
Git utilise la dernière valeur pour chaque paramètre.
111+
Vous pourrez voir certains paramètres apparaître plusieurs fois car Git lit les mêmes paramètres depuis plusieurs fichiers (`[chemin]/etc/gitconfig` et `~/.gitconfig`, par exemple).
112+
Git utilise la dernière valeur pour chaque paramètre unique qu'il lit.
76113

77114
Vous pouvez aussi vérifier la valeur effective d'un paramètre particulier en tapant `git config <paramètre>` :(((commandes git, config)))
78115

@@ -81,3 +118,15 @@ Vous pouvez aussi vérifier la valeur effective d'un paramètre particulier en t
81118
$ git config user.name
82119
John Doe
83120
----
121+
122+
[NOTE]
123+
====
124+
Since Git might read the same configuration variable value from more than one file, it's possible that you have an unexpected value for one of these values and you don't know why.
125+
In cases like that, you can query Git as to the _origin_ for that value, and it will tell you which configuration file had the final say in setting that value:
126+
127+
[source,console]
128+
----
129+
$ git config --show-origin rerere.autoUpdate
130+
file:/home/johndoe/.gitconfig false
131+
----
132+
====

book/01-introduction/sections/help.asc

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[[s_git_help]]
2-
== Obtenir de l'aide
2+
=== Obtenir de l'aide
33

44
Si vous avez besoin d'aide pour utiliser Git, il y a trois moyens d'obtenir les pages de manuel pour toutes les commandes de Git :
55

@@ -21,3 +21,28 @@ $ git help config
2121
Ces commandes sont vraiment sympathiques car vous pouvez y accéder depuis partout, y compris hors connexion.
2222
Si les pages de manuel et ce livre ne sont pas suffisants, vous pouvez essayer les canaux `#git` ou `#github` sur le serveur IRC Freenode (irc.freenode.net).
2323
Ces canaux sont régulièrement fréquentés par des centaines de personnes qui ont une bonne connaissance de Git et sont souvent prêtes à aider.(((IRC)))
24+
25+
In addition, if you don't need the full-blown manpage help, but just need a quick refresher on the available options for a Git command, you can ask for the more concise "`help`" output with the `-h` option, as in:
26+
27+
[source,console]
28+
----
29+
$ git add -h
30+
usage: git add [<options>] [--] <pathspec>...
31+
32+
-n, --dry-run dry run
33+
-v, --verbose be verbose
34+
35+
-i, --interactive interactive picking
36+
-p, --patch select hunks interactively
37+
-e, --edit edit current diff and apply
38+
-f, --force allow adding otherwise ignored files
39+
-u, --update update tracked files
40+
--renormalize renormalize EOL of tracked files (implies -u)
41+
-N, --intent-to-add record only the fact that the path will be added later
42+
-A, --all add changes from all tracked and untracked files
43+
--ignore-removal ignore paths removed in the working tree (same as --no-all)
44+
--refresh don't add, only refresh the index
45+
--ignore-errors just skip files which cannot be added because of errors
46+
--ignore-missing check if - even missing - files are ignored in dry run
47+
--chmod (+|-)x override the executable bit of the listed files
48+
----

book/01-introduction/sections/history.asc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
== Une rapide histoire de Git
1+
=== Une rapide histoire de Git
22

33
Comme de nombreuses choses extraordinaires de la vie, Git est né avec une dose de destruction créative et de controverse houleuse.
4+
45
Le noyau Linux est un projet libre de grande envergure.(((Linux)))
56
Pour la plus grande partie de sa vie (1991–2002), les modifications étaient transmises sous forme de patchs et d'archives de fichiers.
67
En 2002, le projet du noyau Linux commença à utiliser un DVCS propriétaire appelé BitKeeper.(((BitKeeper)))

0 commit comments

Comments
 (0)