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.