Vous n'êtes pas identifié(e).

#1 Le 08/01/2023, à 09:52

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Git par la pratique

Présentation
kikinovak a écrit :

Début décembre 2022, l’École des Mines d’Alès m’a contacté pour me demander de dispenser un cours sur Git à partir de mars 2023. Je venais tout juste de terminer mon cours annuel de culture générale autour d’Unix, de Linux et de l’Open Source, et j’ai accepté à pieds joints cette proposition de cours plus technique pour mes étudiants admins et développeurs. Après mûre réflexion (environ cinq secondes), j’ai décidé de rédiger mon propre support de cours et de le publier sur ce blog.

À qui s’adresse cette formation ?

    À mes étudiants à l’École des Mines d’Alès (cf. plus haut).
    À tous ceux qui travaillent sur des projets informatiques (code source, scripts, documentation, etc.) et qui ont besoin de versionner ces projets.
    Aux grands débutants qui ne savent pas exactement ce que c’est que Git ou la gestion de versions.
    À ceux qui utilisent Git au quotidien sans trop savoir comment ça fonctionne et qui redoutent d’utiliser telle ou telle fonctionnalité de peur de se tirer dans le pied.

Avant de mettre la main à la pâte

Cette formation n’est pas très exigeante en matière de prérequis. Mais il y en a quelques-uns :

    Connaître les bases du shell et de la ligne de commande.
    Connaître les commandes de base comme ls, cd, pwd, mv, cp, rm, etc.
    Savoir utiliser un éditeur de texte comme Vim ou Nano.

Quelques remarques en vrac sur la méthodologie :

    Tous les ateliers pratiques présentés dans cette formation ont été élaborés et testés sur une installation minimale de Rocky Linux 8.
    A priori, ils fonctionneront tels quels sur n’importe quelle distribution Linux.
    Même si je compte vous montrer en temps et en heure l’installation de Git sous Windows et sous MacOS, je vous conseille quand-même de vous atteler à Git sous Linux, du moins dans un premier temps. Microsoft et Apple aiment bien présenter comme des nouveautés révolutionnaires des concepts qui existent déjà depuis des décennies sous Unix et Linux, et il en résulte toute une série d’idiosyncrasies bizarres comme GitBash, WSL, le PowerShell, etc.
    J’utilise des outils simples en ligne de commande, à commencer par la commande git elle-même (et non pas une quelconque surcouche graphique).
    Une fois que vous aurez compris et assimilé les concepts de base avec le sourire, vous n’aurez probablement pas de mal à utiliser les fonctionnalités de Git intégrées dans Visual Studio Code sous Windows 10.

La suite sur MicroLinux

Installation & Configuration
kikinovak a écrit :

Dans mon précédent article, je vous ai présenté Git, l’outil de développement le plus populaire de la planète. Dans ce deuxième volet, nous allons nous intéresser à l’installation de Git sous Linux, sous MacOS et sous Windows. Nous aborderons également la configuration post-installation de l’outil.
Installer Git sous Linux

Git est fourni par les dépôts officiels de toutes les distributions Linux courantes et moins courantes.

Red Hat Enterprise Linux, Rocky Linux, Alma Linux, Oracle Linux et Fedora :

# dnf install git

Debian, Raspbian et Ubuntu :

# apt install git

SUSE et OpenSUSE :

# zypper install git

Astuce
Nous utiliserons Git en ligne de commande, ce qui correspond au paquet git. Ce n’est pas la peine d’installer des méta-paquets comme git-all pour récupérer des outils graphiques comme git-gui.

La suite sur MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#1 Le 08/01/2023, à 09:52

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Présentation
kikinovak a écrit :

Début décembre 2022, l’École des Mines d’Alès m’a contacté pour me demander de dispenser un cours sur Git à partir de mars 2023. Je venais tout juste de terminer mon cours annuel de culture générale autour d’Unix, de Linux et de l’Open Source, et j’ai accepté à pieds joints cette proposition de cours plus technique pour mes étudiants admins et développeurs. Après mûre réflexion (environ cinq secondes), j’ai décidé de rédiger mon propre support de cours et de le publier sur ce blog.

À qui s’adresse cette formation ?

    À mes étudiants à l’École des Mines d’Alès (cf. plus haut).
    À tous ceux qui travaillent sur des projets informatiques (code source, scripts, documentation, etc.) et qui ont besoin de versionner ces projets.
    Aux grands débutants qui ne savent pas exactement ce que c’est que Git ou la gestion de versions.
    À ceux qui utilisent Git au quotidien sans trop savoir comment ça fonctionne et qui redoutent d’utiliser telle ou telle fonctionnalité de peur de se tirer dans le pied.

Avant de mettre la main à la pâte

Cette formation n’est pas très exigeante en matière de prérequis. Mais il y en a quelques-uns :

    Connaître les bases du shell et de la ligne de commande.
    Connaître les commandes de base comme ls, cd, pwd, mv, cp, rm, etc.
    Savoir utiliser un éditeur de texte comme Vim ou Nano.

Quelques remarques en vrac sur la méthodologie :

    Tous les ateliers pratiques présentés dans cette formation ont été élaborés et testés sur une installation minimale de Rocky Linux 8.
    A priori, ils fonctionneront tels quels sur n’importe quelle distribution Linux.
    Même si je compte vous montrer en temps et en heure l’installation de Git sous Windows et sous MacOS, je vous conseille quand-même de vous atteler à Git sous Linux, du moins dans un premier temps. Microsoft et Apple aiment bien présenter comme des nouveautés révolutionnaires des concepts qui existent déjà depuis des décennies sous Unix et Linux, et il en résulte toute une série d’idiosyncrasies bizarres comme GitBash, WSL, le PowerShell, etc.
    J’utilise des outils simples en ligne de commande, à commencer par la commande git elle-même (et non pas une quelconque surcouche graphique).
    Une fois que vous aurez compris et assimilé les concepts de base avec le sourire, vous n’aurez probablement pas de mal à utiliser les fonctionnalités de Git intégrées dans Visual Studio Code sous Windows 10.

La suite sur MicroLinux

Installation & Configuration
kikinovak a écrit :

Dans mon précédent article, je vous ai présenté Git, l’outil de développement le plus populaire de la planète. Dans ce deuxième volet, nous allons nous intéresser à l’installation de Git sous Linux, sous MacOS et sous Windows. Nous aborderons également la configuration post-installation de l’outil.
Installer Git sous Linux

Git est fourni par les dépôts officiels de toutes les distributions Linux courantes et moins courantes.

Red Hat Enterprise Linux, Rocky Linux, Alma Linux, Oracle Linux et Fedora :

# dnf install git

Debian, Raspbian et Ubuntu :

# apt install git

SUSE et OpenSUSE :

# zypper install git

Astuce
Nous utiliserons Git en ligne de commande, ce qui correspond au paquet git. Ce n’est pas la peine d’installer des méta-paquets comme git-all pour récupérer des outils graphiques comme git-gui.

La suite sur MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#2 Le 08/01/2023, à 09:53

M'lou
MétalWoman
Lieu : Quelque part dans la Galaxie
Inscription : Le 18/08/2016,
Messages : 37 193

Re : Git par la pratique

cool


L'amour est comme un jardin, il doit se cultiver chaque  jour pour donner le meilleur de lui-même

M'lou

#2 Le 08/01/2023, à 09:53

MétalWoman
Lieu : Quelque part dans la Galaxie
Inscription : Le 18/08/2016,
Messages : 37 193

cool


L'amour est comme un jardin, il doit se cultiver chaque  jour pour donner le meilleur de lui-même

Hors ligne

Hors ligne

#3 Le 08/01/2023, à 10:03

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

smile


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#3 Le 08/01/2023, à 10:03

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

smile


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#4 Le 11/01/2023, à 14:06

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

Accéder à GitHub et GitLab
kikinovak a écrit :

Voici le troisième volet de la formation Git. Dans mon précédent article, j’ai décrit l’installation et la configuration initiale de la commande git sur votre machine. Aujourd’hui nous allons nous intéresser à la prise en main de la plateforme GitHub, à commencer par la création d’un compte et la configuration de l’authentification. Une fois que nous aurons réussi à nous connecter à GitHub, nous allons tenter de faire quelque chose de similaire sur la plateforme alternative GitLab.

Soyez rassurés, ceci n’est pas une formation GitHub (ou GitLab) à proprement parler. La commande git peut très bien s’utiliser sans recours à un « hub » externe, et c’est d’ailleurs ce que nous allons faire dans un premier temps. Mais tôt ou tard, nous allons arriver à un point où nous voudrons synchroniser des fichiers entre notre ordinateur et un dépôt (ou repository) externe. Pour ce cas de figure, je pense que ce n’est pas une mauvaise idée de vous familiariser avec les deux environnements de développement les plus populaires de la planète.

La suite sur MicroLinux

Initialiser un dépôt Git
kikinovak a écrit :

Voici le quatrième volet de la formation Git. Dans mon précédent article, j’ai décrit en détail l’accès à GitHub et GitLab. Aujourd’hui nous allons prendre en main l’outil git à proprement parler. Pour l’instant, nous n’aurons besoin d’aucun « hub », étant donné que nous allons travailler en local sur notre machine.

Qu’est-ce qu’un dépôt Git ?

Un projet informatique est généralement constitué de toutes sortes de fichiers :
    du code source
    des scripts shell
    de la documentation

Si nous voulons gérer tous ces fichiers avec Git, la première chose à faire c’est de créer un dépôt Git.

Git gère très bien le code source, les scripts shell, la documentation au format Markdown ou AsciiDoc et plus généralement tout ce qui se gère avec un éditeur de texte simple. Ne l’utilisez pas pour vos documents Word ou vos fichiers Excel.

Rappelez-vous que la principale raison pour laquelle nous utilisons un VCS (Version Control System ou logiciel de gestion de versions), c’est qu’il nous permet d’enregistrer tout l’historique de notre projet sous forme d’instantanés à intervalles réguliers.

La première chose que nous allons faire, c’est de créer un dépôt Git à l’intérieur de ce répertoire pour permettre à Git de stocker l’historique et les instantanés. Peu importe l’envergure de notre projet, la création d’un dépôt Git passe toujours par l’invocation de la commande git init à la racine du projet.

La suite sur MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#4 Le 11/01/2023, à 14:06

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Accéder à GitHub et GitLab
kikinovak a écrit :

Voici le troisième volet de la formation Git. Dans mon précédent article, j’ai décrit l’installation et la configuration initiale de la commande git sur votre machine. Aujourd’hui nous allons nous intéresser à la prise en main de la plateforme GitHub, à commencer par la création d’un compte et la configuration de l’authentification. Une fois que nous aurons réussi à nous connecter à GitHub, nous allons tenter de faire quelque chose de similaire sur la plateforme alternative GitLab.

Soyez rassurés, ceci n’est pas une formation GitHub (ou GitLab) à proprement parler. La commande git peut très bien s’utiliser sans recours à un « hub » externe, et c’est d’ailleurs ce que nous allons faire dans un premier temps. Mais tôt ou tard, nous allons arriver à un point où nous voudrons synchroniser des fichiers entre notre ordinateur et un dépôt (ou repository) externe. Pour ce cas de figure, je pense que ce n’est pas une mauvaise idée de vous familiariser avec les deux environnements de développement les plus populaires de la planète.

La suite sur MicroLinux

Initialiser un dépôt Git
kikinovak a écrit :

Voici le quatrième volet de la formation Git. Dans mon précédent article, j’ai décrit en détail l’accès à GitHub et GitLab. Aujourd’hui nous allons prendre en main l’outil git à proprement parler. Pour l’instant, nous n’aurons besoin d’aucun « hub », étant donné que nous allons travailler en local sur notre machine.

Qu’est-ce qu’un dépôt Git ?

Un projet informatique est généralement constitué de toutes sortes de fichiers :
    du code source
    des scripts shell
    de la documentation

Si nous voulons gérer tous ces fichiers avec Git, la première chose à faire c’est de créer un dépôt Git.

Git gère très bien le code source, les scripts shell, la documentation au format Markdown ou AsciiDoc et plus généralement tout ce qui se gère avec un éditeur de texte simple. Ne l’utilisez pas pour vos documents Word ou vos fichiers Excel.

Rappelez-vous que la principale raison pour laquelle nous utilisons un VCS (Version Control System ou logiciel de gestion de versions), c’est qu’il nous permet d’enregistrer tout l’historique de notre projet sous forme d’instantanés à intervalles réguliers.

La première chose que nous allons faire, c’est de créer un dépôt Git à l’intérieur de ce répertoire pour permettre à Git de stocker l’historique et les instantanés. Peu importe l’envergure de notre projet, la création d’un dépôt Git passe toujours par l’invocation de la commande git init à la racine du projet.

La suite sur MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#5 Le 11/01/2023, à 18:21

M'lou
MétalWoman
Lieu : Quelque part dans la Galaxie
Inscription : Le 18/08/2016,
Messages : 37 193

Re : Git par la pratique

smile


L'amour est comme un jardin, il doit se cultiver chaque  jour pour donner le meilleur de lui-même

M'lou

#5 Le 11/01/2023, à 18:21

MétalWoman
Lieu : Quelque part dans la Galaxie
Inscription : Le 18/08/2016,
Messages : 37 193

smile


L'amour est comme un jardin, il doit se cultiver chaque  jour pour donner le meilleur de lui-même

Hors ligne

Hors ligne

#6 Le 11/01/2023, à 18:28

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

smile


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#6 Le 11/01/2023, à 18:28

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

smile


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#7 Le 12/01/2023, à 20:10

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

Les fichiers dans tous leurs états
kikinovak a écrit :

Voici le cinquième volet de la formation Git. Dans mon précédent article, nous avons vu l’initialisation d’un dépôt Git, l’ajout d’un fichier à l’index de Git et sa validation sous forme de commit. Aujourd’hui nous allons nous pencher plus en détail sur ce que cela signifie.

Travailler avec Git

Rappelez-vous que lorsque vous initialisez un dépôt Git, les informations sont stockées dans un répertoire .git à la racine du projet. Le répertoire où vous créez et éditez des fichiers, c’est le répertoire de travail (working directory).

Non, ne vous mettez pas à créer et éditer des fichiers à l’intérieur du répertoire .git, c’est une très mauvaise idée. Continuez à considérer .git et son contenu comme une boîte noire et évitez d’y toucher.

Le dépôt Git lui-même est divisé en deux parties :
    l’index (index)
    la base de données d’objets (object database)

Lorsque vous invoquez la commande git add, Git effectue une copie du fichier dans votre répertoire de travail et range cette copie dans l’index. Cet index (ou zone d’indexation) est un endroit provisoire où nous pouvons placer tout un tas de choses jusqu’à ce que nous décidons de les valider ou non.

Maintenant, lorsque vous invoquez git commit, Git va prendre en compte tout le contenu de la zone d’indexation et l’enregistrer dans la base de données d’objets, qui représente en quelque sorte la mémoire permanente de Git.

L’opération ressemble à ce que les chefs de cuisine appellent la mise en place. Dans un premier temps, vous découpez et tranchez toute une série d’ingrédients. Vous les préparez dans des bols ou des assiettes, pour sélectionner ensuite ce que vous allez mettre dans la poêle ou dans le four.

La suite sur MicroLinux

État des lieux
kikinovak a écrit :

Voici le sixième volet de la formation Git. Dans mon précédent article, nous avons vu en détail les états successifs d’un fichier par rapport à Git. Vous commencez petit à petit à vous familiariser avec le flux de travail spécifique à Git. Aujourd’hui nous allons aborder un outil fort pratique qui nous permettra à chaque instant de savoir où nous en sommes exactement lorsque nous travaillons avec Git : la commande git status.

Un peu de pratique

Créez un répertoire formation-git/atelier-09 et initialisez un dépôt Git dans ce répertoire :

$ cd ~/formation-git
$ mkdir atelier-09
$ cd atelier-09/
$ git init
...
Initialized empty Git repository in /home/kikinovak/formation-git/atelier-09/.git/

Pour l’instant nous n’avons rien fait. Faisons quand-même un premier état des lieux :

$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

    Pas grand-chose à signaler pour l’instant (No commits yet).
    Notez que Git nous fait quand-même une petite suggestion pour la suite.

La suite justement sur MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#7 Le 12/01/2023, à 20:10

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Les fichiers dans tous leurs états
kikinovak a écrit :

Voici le cinquième volet de la formation Git. Dans mon précédent article, nous avons vu l’initialisation d’un dépôt Git, l’ajout d’un fichier à l’index de Git et sa validation sous forme de commit. Aujourd’hui nous allons nous pencher plus en détail sur ce que cela signifie.

Travailler avec Git

Rappelez-vous que lorsque vous initialisez un dépôt Git, les informations sont stockées dans un répertoire .git à la racine du projet. Le répertoire où vous créez et éditez des fichiers, c’est le répertoire de travail (working directory).

Non, ne vous mettez pas à créer et éditer des fichiers à l’intérieur du répertoire .git, c’est une très mauvaise idée. Continuez à considérer .git et son contenu comme une boîte noire et évitez d’y toucher.

Le dépôt Git lui-même est divisé en deux parties :
    l’index (index)
    la base de données d’objets (object database)

Lorsque vous invoquez la commande git add, Git effectue une copie du fichier dans votre répertoire de travail et range cette copie dans l’index. Cet index (ou zone d’indexation) est un endroit provisoire où nous pouvons placer tout un tas de choses jusqu’à ce que nous décidons de les valider ou non.

Maintenant, lorsque vous invoquez git commit, Git va prendre en compte tout le contenu de la zone d’indexation et l’enregistrer dans la base de données d’objets, qui représente en quelque sorte la mémoire permanente de Git.

L’opération ressemble à ce que les chefs de cuisine appellent la mise en place. Dans un premier temps, vous découpez et tranchez toute une série d’ingrédients. Vous les préparez dans des bols ou des assiettes, pour sélectionner ensuite ce que vous allez mettre dans la poêle ou dans le four.

La suite sur MicroLinux

État des lieux
kikinovak a écrit :

Voici le sixième volet de la formation Git. Dans mon précédent article, nous avons vu en détail les états successifs d’un fichier par rapport à Git. Vous commencez petit à petit à vous familiariser avec le flux de travail spécifique à Git. Aujourd’hui nous allons aborder un outil fort pratique qui nous permettra à chaque instant de savoir où nous en sommes exactement lorsque nous travaillons avec Git : la commande git status.

Un peu de pratique

Créez un répertoire formation-git/atelier-09 et initialisez un dépôt Git dans ce répertoire :

$ cd ~/formation-git
$ mkdir atelier-09
$ cd atelier-09/
$ git init
...
Initialized empty Git repository in /home/kikinovak/formation-git/atelier-09/.git/

Pour l’instant nous n’avons rien fait. Faisons quand-même un premier état des lieux :

$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

    Pas grand-chose à signaler pour l’instant (No commits yet).
    Notez que Git nous fait quand-même une petite suggestion pour la suite.

La suite justement sur MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#8 Le 14/01/2023, à 09:25

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

Les idées fusent
kikinovak a écrit :

Voici le septième volet de la formation Git. Dans mon précédent article, nous avons vu en détail la commande git status qui permet de garder l’œil sur l’état des fichiers de notre projet.

Avant d’aller plus loin dans la découverte de nouvelles fonctionnalités de Git comme la création et la gestion des branches, j’aimerais vous parler d’un problème que vous risquez de rencontrer à partir du moment où vous gérez plusieurs fichiers avec un logiciel de gestion de versions et que l’effervescence de la création part un peu dans tous les sens. Autant dire que cela vous arrivera tôt ou tard.

Plutôt que de me lancer dans un discours théorique ennuyeux, je préfère vous faire une petite démonstration pratique.

Semer la pagaille dans son dépôt Git

Créez un répertoire formation-git/atelier-11/hello. Initialisez un projet Git à l’intérieur de ce répertoire :

$ cd ~/formation-git/
$ mkdir -pv atelier-11/hello
mkdir: created directory 'atelier-11'
mkdir: created directory 'atelier-11/hello'
$ cd atelier-11/hello/
$ git init
Initialized empty Git repository in /home/kikinovak/formation-git/atelier-11/hello/.git/

Créez un script hello.sh et éditez-le comme ceci :

#!/bin/bash
#
# hello.sh

echo "Hello world !"

Rappel pour les chipoteurs : C’est une formation Git, pas un cours sur la programmation shell. Les exemples choisis sont d’une simplicité déconcertante pour vous éviter d’avoir trop de texte à taper et vous permettre en même temps de vous concentrer sur la gestion de versions à proprement parler.

Enregistrez le script et rendez-le exécutable :

$ chmod +x hello.sh

Exécutez-le pour le fun :

$ ./hello.sh
Hello world !

La récolte de la pagaille sur MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#8 Le 14/01/2023, à 09:25

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Les idées fusent
kikinovak a écrit :

Voici le septième volet de la formation Git. Dans mon précédent article, nous avons vu en détail la commande git status qui permet de garder l’œil sur l’état des fichiers de notre projet.

Avant d’aller plus loin dans la découverte de nouvelles fonctionnalités de Git comme la création et la gestion des branches, j’aimerais vous parler d’un problème que vous risquez de rencontrer à partir du moment où vous gérez plusieurs fichiers avec un logiciel de gestion de versions et que l’effervescence de la création part un peu dans tous les sens. Autant dire que cela vous arrivera tôt ou tard.

Plutôt que de me lancer dans un discours théorique ennuyeux, je préfère vous faire une petite démonstration pratique.

Semer la pagaille dans son dépôt Git

Créez un répertoire formation-git/atelier-11/hello. Initialisez un projet Git à l’intérieur de ce répertoire :

$ cd ~/formation-git/
$ mkdir -pv atelier-11/hello
mkdir: created directory 'atelier-11'
mkdir: created directory 'atelier-11/hello'
$ cd atelier-11/hello/
$ git init
Initialized empty Git repository in /home/kikinovak/formation-git/atelier-11/hello/.git/

Créez un script hello.sh et éditez-le comme ceci :

#!/bin/bash
#
# hello.sh

echo "Hello world !"

Rappel pour les chipoteurs : C’est une formation Git, pas un cours sur la programmation shell. Les exemples choisis sont d’une simplicité déconcertante pour vous éviter d’avoir trop de texte à taper et vous permettre en même temps de vous concentrer sur la gestion de versions à proprement parler.

Enregistrez le script et rendez-le exécutable :

$ chmod +x hello.sh

Exécutez-le pour le fun :

$ ./hello.sh
Hello world !

La récolte de la pagaille sur MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#9 Le 15/01/2023, à 10:03

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

Utiliser les branches
kikinovak a écrit :

Voici le huitième volet de la formation Git. Dans mon précédent article, nous avons illustré un problème qui peut survenir lorsque nous travaillons sur plusieurs idées en même temps. Aujourd’hui nous allons présenter une solution élégante à ce problème : les branches. Une fois que vous vous serez familiarisé avec leur fonctionnement grâce à un atelier pratique bien ficelé, vous les intégrerez régulièrement dans votre flux de travail.

Les branches par la pratique

Pour commencer, créez un répertoire formation-git/atelier-12/hello et initialisez un dépôt Git à l’intérieur de ce répertoire :

$ cd formation-git/
$ mkdir -pv atelier-12/hello
mkdir: created directory 'atelier-12'
mkdir: created directory 'atelier-12/hello'
$ cd atelier-12/hello/
$ git init
...
Initialized empty Git repository in /home/kikinovak/formation-git/atelier-12/hello/.git/

Créez un fichier hello.sh et éditez-le comme ceci :

#!/bin/bash
#
# hello.sh

echo "Hello !"

Rendez le fichier exécutable et lancez-le pour le fun :

$ chmod +x hello.sh
$ ./hello.sh
Hello !

Ajoutez le fichier à l’index de Git et validez-le :

$ git add hello.sh
$ git commit -m "Commit initial."
[master (root-commit) 3a500d8] Commit initial.
 1 file changed, 5 insertions(+)
 create mode 100755 hello.sh

À ce stade, vous vous dites que vous aimeriez bien avoir un affichage un peu plus enjoué. Vous voulez expérimenter un peu, mais sans toucher à votre script hello.sh qui fonctionne très bien en l’état.

L'arbre (qui cache la forêt ?  tongue) dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#9 Le 15/01/2023, à 10:03

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Utiliser les branches
kikinovak a écrit :

Voici le huitième volet de la formation Git. Dans mon précédent article, nous avons illustré un problème qui peut survenir lorsque nous travaillons sur plusieurs idées en même temps. Aujourd’hui nous allons présenter une solution élégante à ce problème : les branches. Une fois que vous vous serez familiarisé avec leur fonctionnement grâce à un atelier pratique bien ficelé, vous les intégrerez régulièrement dans votre flux de travail.

Les branches par la pratique

Pour commencer, créez un répertoire formation-git/atelier-12/hello et initialisez un dépôt Git à l’intérieur de ce répertoire :

$ cd formation-git/
$ mkdir -pv atelier-12/hello
mkdir: created directory 'atelier-12'
mkdir: created directory 'atelier-12/hello'
$ cd atelier-12/hello/
$ git init
...
Initialized empty Git repository in /home/kikinovak/formation-git/atelier-12/hello/.git/

Créez un fichier hello.sh et éditez-le comme ceci :

#!/bin/bash
#
# hello.sh

echo "Hello !"

Rendez le fichier exécutable et lancez-le pour le fun :

$ chmod +x hello.sh
$ ./hello.sh
Hello !

Ajoutez le fichier à l’index de Git et validez-le :

$ git add hello.sh
$ git commit -m "Commit initial."
[master (root-commit) 3a500d8] Commit initial.
 1 file changed, 5 insertions(+)
 create mode 100755 hello.sh

À ce stade, vous vous dites que vous aimeriez bien avoir un affichage un peu plus enjoué. Vous voulez expérimenter un peu, mais sans toucher à votre script hello.sh qui fonctionne très bien en l’état.

L'arbre (qui cache la forêt ?  tongue) dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#10 Le 22/01/2023, à 09:44

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

Le fast-forward merge
kikinovak a écrit :

Voici le neuvième volet de la formation Git. Dans mon précédent article nous avons abordé l’intégration des branches dans notre flux de travail. Aujourd’hui nous allons voir en détail comment fusionner toutes ces branches, et nous allons commencer par le cas de figure le plus simple. En effet, en fonction de l’historique de vos commits, l’opération de fusion peut s’avérer triviale ou alors un petit peu plus complexe.

Une branche à proprement parler est simplement une référence à un commit. Nous avons vu que chaque fois que nous basculons vers une autre branche, Git réorganise le contenu de notre répertoire de travail de manière à ce qu’il corresponde au dernier commit effectué sur la branche en question. Or, tôt ou tard nous aimerions bien retrouver tous ces fichiers dans la même branche.

Quelle branche d’ailleurs ? Rappelez-vous que lorsque vous initialisez un dépôt Git, vous démarrez toujours sur une branche nommée master. Puisque cette branche est créée par défaut, elle est toujours là. Une manière de procéder, c’est tout simplement d’utiliser cette branche master pour contenir la trame principale de notre projet.

Plus loin dans la fusion dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#10 Le 22/01/2023, à 09:44

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Le fast-forward merge
kikinovak a écrit :

Voici le neuvième volet de la formation Git. Dans mon précédent article nous avons abordé l’intégration des branches dans notre flux de travail. Aujourd’hui nous allons voir en détail comment fusionner toutes ces branches, et nous allons commencer par le cas de figure le plus simple. En effet, en fonction de l’historique de vos commits, l’opération de fusion peut s’avérer triviale ou alors un petit peu plus complexe.

Une branche à proprement parler est simplement une référence à un commit. Nous avons vu que chaque fois que nous basculons vers une autre branche, Git réorganise le contenu de notre répertoire de travail de manière à ce qu’il corresponde au dernier commit effectué sur la branche en question. Or, tôt ou tard nous aimerions bien retrouver tous ces fichiers dans la même branche.

Quelle branche d’ailleurs ? Rappelez-vous que lorsque vous initialisez un dépôt Git, vous démarrez toujours sur une branche nommée master. Puisque cette branche est créée par défaut, elle est toujours là. Une manière de procéder, c’est tout simplement d’utiliser cette branche master pour contenir la trame principale de notre projet.

Plus loin dans la fusion dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#11 Le 22/01/2023, à 10:12

M'lou
MétalWoman
Lieu : Quelque part dans la Galaxie
Inscription : Le 18/08/2016,
Messages : 37 193

Re : Git par la pratique

smile


L'amour est comme un jardin, il doit se cultiver chaque  jour pour donner le meilleur de lui-même

M'lou

#11 Le 22/01/2023, à 10:12

MétalWoman
Lieu : Quelque part dans la Galaxie
Inscription : Le 18/08/2016,
Messages : 37 193

smile


L'amour est comme un jardin, il doit se cultiver chaque  jour pour donner le meilleur de lui-même

Hors ligne

Hors ligne

#12 Le 22/01/2023, à 10:12

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

smile


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#12 Le 22/01/2023, à 10:12

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

smile


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#13 Le 28/01/2023, à 09:21

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

Le merge commit
kikinovak a écrit :

Voici le dixième volet de la formation Git. Dans mon précédent article, nous avons abordé le cas de figure le plus simple dans la fusion de deux branches : le fast-forward merge. Aujourd’hui nous allons voir un peu plus en détail ce qui se passe lorsqu’on fusionne deux branches qui ont évolué chacune de son côté.

Le merge commit par la pratique

Ce n’est pas la peine de repartir de zéro pour cet atelier. Placez-vous dans le répertoire formation-git/atelier-13 sur lequel nous avons travaillé précédemment. Il contient une branche master et deux scripts hello.sh et hello-cow.sh :

$ cd ~/formation-git/atelier-13/
$ ls
hello-cow.sh  hello.sh
$ git branch
* master

Pour commencer, créez une branche hello-figlet et basculez dessus :

$ git switch --create hello-figlet
Switched to a new branch 'hello-figlet'

La suite dans MicroLinux

Gérer les conflits
kikinovak a écrit :

Voici le onzième volet de la formation Git. Dans mon précédent article, nous avons abordé la fusion de deux branches symbolisée par un merge commit. Malheureusement les choses ne se passent pas toujours comme prévu, et vous pouvez vous retrouver confronté à un conflit de fusion. Ce cas de figure intimide particulièrement les novices de Git. J’ai donc décidé d’en parler un peu plus en détail. Une fois que vous aurez intégré quelques principes de base, vous verrez que la résolution d’un conflit n’est pas de la magie noire.

Les conflits par la pratique

Pour illustrer ce qui se passe lorsque la fusion de deux branches résulte en un conflit, je vais reprendre mon exemple de l’atelier pratique sur la création des branches en le modifiant quelque peu. Commencez par initialiser un nouveau dépôt Git :

$ cd ~/formation-git/
$ mkdir atelier-15
$ cd atelier-15
$ git init
...
Initialized empty Git repository in /home/kikinovak/formation-git/atelier-15/.git/

Créez un fichier hello.sh :

#!/bin/bash
#
# hello.sh

echo "Hello !"

La suite dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#13 Le 28/01/2023, à 09:21

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Le merge commit
kikinovak a écrit :

Voici le dixième volet de la formation Git. Dans mon précédent article, nous avons abordé le cas de figure le plus simple dans la fusion de deux branches : le fast-forward merge. Aujourd’hui nous allons voir un peu plus en détail ce qui se passe lorsqu’on fusionne deux branches qui ont évolué chacune de son côté.

Le merge commit par la pratique

Ce n’est pas la peine de repartir de zéro pour cet atelier. Placez-vous dans le répertoire formation-git/atelier-13 sur lequel nous avons travaillé précédemment. Il contient une branche master et deux scripts hello.sh et hello-cow.sh :

$ cd ~/formation-git/atelier-13/
$ ls
hello-cow.sh  hello.sh
$ git branch
* master

Pour commencer, créez une branche hello-figlet et basculez dessus :

$ git switch --create hello-figlet
Switched to a new branch 'hello-figlet'

La suite dans MicroLinux

Gérer les conflits
kikinovak a écrit :

Voici le onzième volet de la formation Git. Dans mon précédent article, nous avons abordé la fusion de deux branches symbolisée par un merge commit. Malheureusement les choses ne se passent pas toujours comme prévu, et vous pouvez vous retrouver confronté à un conflit de fusion. Ce cas de figure intimide particulièrement les novices de Git. J’ai donc décidé d’en parler un peu plus en détail. Une fois que vous aurez intégré quelques principes de base, vous verrez que la résolution d’un conflit n’est pas de la magie noire.

Les conflits par la pratique

Pour illustrer ce qui se passe lorsque la fusion de deux branches résulte en un conflit, je vais reprendre mon exemple de l’atelier pratique sur la création des branches en le modifiant quelque peu. Commencez par initialiser un nouveau dépôt Git :

$ cd ~/formation-git/
$ mkdir atelier-15
$ cd atelier-15
$ git init
...
Initialized empty Git repository in /home/kikinovak/formation-git/atelier-15/.git/

Créez un fichier hello.sh :

#!/bin/bash
#
# hello.sh

echo "Hello !"

La suite dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#14 Le 28/01/2023, à 09:53

M'lou
MétalWoman
Lieu : Quelque part dans la Galaxie
Inscription : Le 18/08/2016,
Messages : 37 193

Re : Git par la pratique

smile


L'amour est comme un jardin, il doit se cultiver chaque  jour pour donner le meilleur de lui-même

M'lou

#14 Le 28/01/2023, à 09:53

MétalWoman
Lieu : Quelque part dans la Galaxie
Inscription : Le 18/08/2016,
Messages : 37 193

smile


L'amour est comme un jardin, il doit se cultiver chaque  jour pour donner le meilleur de lui-même

Hors ligne

Hors ligne

#15 Le 29/01/2023, à 09:43

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

Afficher l’historique
kikinovak a écrit :

Voici le douzième volet de la formation Git. Dans mon précédent article, nous avons vu en détail la gestion des conflits éventuels lors de la fusion de deux branches. Aujourd’hui nous allons nous intéresser à la gestion de l’historique de Git.

Depuis notre première prise en main de Git, nous avons créé des branches, effectué des commits et fusionné ce que nous avons développé dans les branches. Chaque pas en avant dans notre travail est ainsi matérialisé dans un commit. Tôt ou tard nous allons nous demander comment nous avons fait exactement pour en arriver là.

Un peu d’histoire appliquée

Commençons par un exemple simple. Retournez dans le répertoire atelier-08 :

$ cd ~/formation-git/atelier-08
$ ls
RECETTES.md  Sauce-bolognaise.md

Le dépôt a l’air propre :

$ git status
On branch master
nothing to commit, working tree clean

Il ne contient que la seule branche master :

$ git branch
* master

La suite de l'historique dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#15 Le 29/01/2023, à 09:43

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Afficher l’historique
kikinovak a écrit :

Voici le douzième volet de la formation Git. Dans mon précédent article, nous avons vu en détail la gestion des conflits éventuels lors de la fusion de deux branches. Aujourd’hui nous allons nous intéresser à la gestion de l’historique de Git.

Depuis notre première prise en main de Git, nous avons créé des branches, effectué des commits et fusionné ce que nous avons développé dans les branches. Chaque pas en avant dans notre travail est ainsi matérialisé dans un commit. Tôt ou tard nous allons nous demander comment nous avons fait exactement pour en arriver là.

Un peu d’histoire appliquée

Commençons par un exemple simple. Retournez dans le répertoire atelier-08 :

$ cd ~/formation-git/atelier-08
$ ls
RECETTES.md  Sauce-bolognaise.md

Le dépôt a l’air propre :

$ git status
On branch master
nothing to commit, working tree clean

Il ne contient que la seule branche master :

$ git branch
* master

La suite de l'historique dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

#16 Le 31/01/2023, à 10:54

P'skhal
Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996

Re : Git par la pratique

Afficher les modifications
kikinovak a écrit :

Voici le treizième volet de la formation Git. Dans mon précédent article, nous avons vu en détail la gestion de l’historique de Git et les différentes manières de visualiser l’évolution d’un projet grâce à la commande git log. Nous allons poursuivre notre investigation de l’historique avec la commande git diff qui permet de visualiser les modifications entre les commits successifs.

C’est quoi la différence ?

Nous allons nous servir des fichiers de l’atelier pratique formation-git/atelier-09 pour une petite démonstration. Avant de faire quoi que ce soit, effectuez une copie du dépôt Git pour travailler dessus :

$ cd ~/formation-git/
$ cp -R atelier-09/ atelier-17
$ cd atelier-17/

Inspectons sommairement le contenu et l’état du dépôt :

$ ls
Entretien.md  Roadtrip.md
$ git status
On branch master
nothing to commit, working tree clean
$ git branch
* master
$ git log --oneline
9159976 (HEAD -> master) Ajout du fichier Entretien.
4220c4c Ajout du fichier Roadtrip.

La suite des modifs dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

P'skhal

#16 Le 31/01/2023, à 10:54

Explorateur
Lieu : Au-delà du portail
Inscription : Le 18/08/2016,
Messages : 31 996
Afficher les modifications
kikinovak a écrit :

Voici le treizième volet de la formation Git. Dans mon précédent article, nous avons vu en détail la gestion de l’historique de Git et les différentes manières de visualiser l’évolution d’un projet grâce à la commande git log. Nous allons poursuivre notre investigation de l’historique avec la commande git diff qui permet de visualiser les modifications entre les commits successifs.

C’est quoi la différence ?

Nous allons nous servir des fichiers de l’atelier pratique formation-git/atelier-09 pour une petite démonstration. Avant de faire quoi que ce soit, effectuez une copie du dépôt Git pour travailler dessus :

$ cd ~/formation-git/
$ cp -R atelier-09/ atelier-17
$ cd atelier-17/

Inspectons sommairement le contenu et l’état du dépôt :

$ ls
Entretien.md  Roadtrip.md
$ git status
On branch master
nothing to commit, working tree clean
$ git branch
* master
$ git log --oneline
9159976 (HEAD -> master) Ajout du fichier Entretien.
4220c4c Ajout du fichier Roadtrip.

La suite des modifs dans MicroLinux


“ Aujourd'hui plus qu'hier et bien moins que demain „

Hors ligne

Hors ligne

Pied de page des forums