Comment apprendre aux gens à utiliser git

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:
    • Référentiel distant

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 :

  • : fetch
  • : merge

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




, : .

, : , , , .


(Visual SourceSafe, TFS Subversion): , , . , .




, Git .

Hacker News:


Reddit, , «, Git», , , Git Pro Git. , . , . !

, Hacker News, u/cryptoz, Reddit!

Source: https://habr.com/ru/post/fr437000/


All Articles