Re: comment fonctionne github.com?

Top Page

Reply to this message
Author: Edgar Bonet
Date:  
To: guilde
Subject: Re: comment fonctionne github.com?
> Comment s'y retrouver avec les différentes versions d'un logiciel sur
> github?


Dans le cas présent :

- thomascube/vcfconvert est le dépôt d'origine, par l'auteur du logiciel
- JVillafruela/vcfconvert est un fork en bonne et due forme
- booleanf/vcfconvert-master est un « faux fork » : son créateur,
probablement pas au jus des bonnes pratiques, a juste pris un
instantané du dépôt de thomascube et l'a uploadé comme une nouveau
dépôt, en perdant tout l'historique (c'est mal).

L'affaire est compliquée par le fait que chaque dépôt peut avoir
plusieurs branches, qui sont autant de « versions » du logiciel. Chaque
branche est une chaîne de commits (de sauvegardes en quelque sorte) qui
représente son histoire. Oui, je simplifie un peu...

Le dépôt JVillafruela/vcfconvert a deux branches : master (nom
conventionnel donné à la branche principale) et nextcloud-fix. Leurs
histoires ressemblent à ça, où chaque étoile représente un commit (ordre
antichronologique) :

    master
    ↓
      nextcloud-fix
      ↓
      * 58d8c69 Clean error message for a successful conversion.
      * f536a86 Modifs Anne du  27/12/19
      * 6b8f048 Fix for nextcloud vcards (quoted phone)
     /
    * 6411ada Change contact email
    * 2a34470 Add support for VOICE tel type
    * ...


Comme tu vois, la branche nextcloud-fix a poussé à partir du sommet de
la branche master. Elle contient les commits créés par Jérôme. La
branche master contient le travail de thomascube, et est identique à la
branche master de thomascube/vcfconvert.

> Comment ajouter des choses?


Il faut apprendre à utiliser git. ;-)

Puis créer un compte sur GitHub, forker le dépôt que tu veux modifier,
et pousser des modifs dessus.

En supposant que ton identifiant GitHub est anne-guilde, après avoir
forké tu pourrais travailler comme ça :

    # Créer sur ta machine locale un clone de ton fork.
    git clone https://github.com/anne-guilde/vcfconvert.git


    # Aller travailler dessus.
    cd vcfconvert


    # En supposant que tu veux travailler sur la branche nextcloud-fix,
    # créer la branche localement à partir de la branche nextcloud-fix
    # de ton dépôt GitHub.
    git branch nextcloud-fix origin/nextcloud-fix


    # Aller travailler sur cette branche.
    git checkout nextcloud-fix


    # Modifier le code.
    $EDITOR fichiers...
    # Tester...


    # Après chaque modification qui est une unité logique (la plus
    # petite modif qui fait sens en elle même), vérifier ce que tu as
    # modifié.
    git diff


    # Et créer le commit.
    git commit fichier fichier...


    # Répéter ce cycle autant que nécessaire.
    $EDITOR fichiers...
    git diff
    git commit fichier fichier...


    # Pousser les modifs vers le dépôt GitHub.
    git push -u origin nextcloud-fix


Ensuite, sur la page GitHub de ton dépôt, tu peux soumettre un pull
request si tu veux.

Avant d'appliquer ce qui précède, je te suggère quand même de lire la
doc, au moins jusqu'au point où tu comprends bien ce que fait chacune
des commandes ci dessus.

À+,

Edgar.