Pour le travail, je dois participer à différents projets, donc je sais bien comment tous mes collègues travaillent. Je me souviens que la société a commencé à utiliser Git quelques semaines seulement avant mon arrivée. Sur les moniteurs des développeurs tout autour des autocollants accrochés avec un rappel: ajoutez d'abord, puis validez, puis poussez.
Ils ne savaient pas pourquoi. Les programmeurs ont simplement été invités à suivre strictement les instructions, sinon le problème. Mais les problèmes sont survenus si souvent que j'ai décidé d'accueillir un atelier Git.
Idée
J'aime cartographier dans ma tête. Je ne dis pas «cartes mentales» car c'est un type de diagramme bien connu. Il s'agit de quelques images, structures ou toute représentation graphique dans l'esprit. Par exemple, enfant, j'ai appris l'arithmétique en introduisant des dés.
J'ai donc préparé quelques dessins. Il n'est pas nécessaire de les regarder pour comprendre le texte. Il y a une explication pour tout le monde.
De plus, il est très important d'enseigner les termes à une personne. Sinon, il ne comprendra pas les messages de Git. Les dessins sont un bon moyen.
Système de contrôle de version distribué

Dans la figure, quatre zones sont réparties comme suit:
- Environnement de développement:
- Répertoire de travail
- Zone intermédiaire (mise en scène) ou index
- Dépôt local
- Serveur:
Ici, vous pouvez expliquer les avantages d'un système de contrôle de version distribué.
Clonage du référentiel

Lors du clonage, les données d'un référentiel distant se déplacent vers deux zones:
- Répertoire de travail
- Dépôt local
Apporter des modifications au répertoire de travail

Il existe deux types de fichiers dans le répertoire de travail:
- Suivi : Fichiers connus de Git.
- Introuvable : qui n'ont pas encore été ajoutés, donc Git ne les connaît pas.
Mettre à jour le référentiel distant

Après avoir préparé les modifications dans le
répertoire de travail, elles doivent être ajoutées à la zone de transfert.
Lorsqu'un certain nombre de modifications s'y sont accumulées avec un objectif commun, il est temps de créer une validation dans le
référentiel local avec un message sur cet objectif.
Si le
référentiel local a une ou plusieurs validations prêtes à être partagées avec le reste du monde, elles sont envoyées au
référentiel distant .
À ce stade, nous pouvons parler des différents états du fichier dans l'environnement de développement:
modifié ,
intermédiaire (
intermédiaire ) et
fixe (validé).

De plus, vous pouvez expliquer:
- :
git diff
- :
git diff --staged
- . .
(fetching)

git fetch
.
(pulling)

git pull
:
,
git pull --rebase
.
fetch + merge
fetch + rebase
. ,
.

, :
.
, : , , , .
(Visual SourceSafe, TFS Subversion): , , . , .
,
Git .
Hacker News:
Reddit, ,
«, Git», , , Git
Pro Git. , . , . !
, Hacker News,
u/cryptoz, Reddit!