Journal Memento Git avec Capuchine

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
13
21
déc.
2022

Bonjour Nal,

Je t'écris pour te proposer quelques dessins sous licence libre ( CC By-SA 4.0 ) qui servent à se rappeler des commandes les plus utiles du célèbre gestionnaire de version Git avec l'héroïne d'un de mes jeux.

git init

Cette commande permets de créer un dépôt dans le dossier courant. Elle va ajouter un dossier .git avec les fichiers du gestionnaire de version.

git init

git clone

On peut aussi faire une copie d'un dépôt existant avec cette commande.

git clone

git add

Maintenant qu'on a un dépôt, on peut ajouter des fichiers avec cette commande. Attention l'ajout n'est qu'une "mise en place" (staging), les fichiers ne seront versionnés qu'une fois "consigné" (commit).

git add

git diff

Lors que l'on fait des changements sur un fichier du dépôt, on peut voir les différences avec la version précédente avec cette commande.

Pour une vue plus globale, on préfèrera git status.

git diff

git commit

Cette commande enregistre les fichiers précédemment ajoutés dans le dépôt. Chaque commit est associé à son auteur : pour cela il faudra configurer son nom avec git config user.name et son mail git config user.email.

Les commits sont visibles dans l'historique (log) via la commande git log.

git commit

git branch

Si on souhaite travailler sur une version parallèle, on peut utiliser cette commande pour créer une branche avant de faire des changements et de les commiter.

On pourra plus tard fusionner des branches avec git merge.

git branch

git push/pull

Pour récupérer les commits d'un autre dépôt, on utilise git pull.

Pour partager ses commits, on lance git push.

git pull et git push

git blame

Cette commande permets de savoir qui a fait un changement sur un fichier et Ă  quelle ligne.

git blame

git help

Il existe beaucoup d'autres commandes git, pour les découvrir un bon point d'entrée est la commande git help.

git help

Et toi Nal, quelle est ta commande git préférée ?

  • # bisect

    Posté par  (site web personnel) . Évalué à 3.

    git bisect est probablement ma commande préférée car elle m'a sauvé les miches plusieurs fois et c'est marrant de jouer à l'inspecteur gadget pour trouver une régression

    • [^] # Re: bisect

      Posté par  (site web personnel) . Évalué à 6. Dernière modification le 21 décembre 2022 à 13:13.

      Sur le thème des illustrations de cet article, ça risque d’être sanglant !

  • # reflog

    Posté par  . Évalué à 5. Dernière modification le 21 décembre 2022 à 12:53.

    git reflog est probablement ma commande préférée car elle m'a sauvé les miches plusieurs fois et c'est marrant de suer comme un malade lorsqu'on a perdu par erreur ces commits ultra importants pour finalement retrouver toutes ces heures de travail comme si rien n'était arrivé (en tout cas tant que le gc n'est pas passé).

    • [^] # Re: reflog

      Posté par  . Évalué à 3.

      (en tout cas tant que le gc n'est pas passé).

      La valeur d'expiration du reflog étant de 90j, les commits sont justement retenu par celui-ci pendant une période de 3 mois durant laquelle normalement un gc ne les supprime pas…

  • # gui & k

    Posté par  . Évalué à 2.

    Parce que le but d'avoir un historique (avec de beaux messages de commit), c'est aussi de pouvoir le consulter (et chercher dedans), donc --> gitk

    Et parce que cet historique mérite d'être soigné, rien de tel que "git gui" pour choisir le contenu du commit, y mettre un beau message (avec vérification de l'orthographe)

    • [^] # Re: gui & k

      Posté par  (Mastodon) . Évalué à 3.

      rien de tel que "git gui"

      ça ne me semble pas une commande standard, si ?

      En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

      • [^] # Re: gui & k

        Posté par  . Évalué à 6.

        Si, mais souvent les distribution le split dans un paquet à part (pour ne pas dépendre de X sur un serveur). Sur debian, le paquet s'appele git-gui.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

        • [^] # Re: gui & k

          Posté par  (Mastodon) . Évalué à 3.

          merci, je vais explorer ça !

          En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: gui & k

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      PlutĂ´t team tig ici

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # git switch

    Posté par  (site web personnel) . Évalué à 4. Dernière modification le 21 décembre 2022 à 16:16.

    Après avoir créé une branche, il faut aussi y passer.
    Pour ça il y a git switch. Et cette commande peut même être utilisée à le place de git branch pour créé une branche.

    Et sinon, indispensable pour faire le ménage dans sa branche avent de faire une pull request: git rebase -i

  • # rerere

    Posté par  . Évalué à 4.

    git rerere Ă©videmment aucune sous commande git n'a un nom plus drĂ´le.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # log & rebase

    Posté par  (site web personnel, Mastodon) . Évalué à 2.

    sont mes préférés.

    Par contre l'image du journal ne cadre pas avec « version parallèle » mais va bien avec le nom de la sous-commande (quoique, ç'aurait pu être un branchement électrique aussi)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.