Méthode de travail git

Via l'interface web de Framagit (ou Gitlab)

Pour passer l'interface de Framagit en Français, vous devez :

  1. cliquer sur votre avatar (en haut à droite), puis Profile
  2. modifier Preferred language de English à Français
  3. cliquer sur le bouton Update profile settings en bas de la page

Créer une divergence

Pour commencer nous devons créer une copie du projet. Cela s'appelle Créer une divergence (souvent aussi appelé forker). Pour ce faire, vous devez :

Vous serez redirigé sur votre copie du code (facilement vérifiable en regardant l'adresse : https://framagit.org/spf/participer/ -> https://framagit.org/VOTRE-PSEUDO/participer/ à la place de https://framagit.org/framasoft/participer).

Créer une branche

Créer une branche vous permet de faire une copie de votre copie. Si vous ne pensez pas faire d'autres contributions, vous pouvez passer cette étape et directement travailler sur la branche principale (souvent appelée master).

Pour créer une branche :

code créer une branche

  • vous êtes sur votre copie de projet (1)
  • depuis une divergence (2)
  • sur la branche principale (3)
  • cliquez sur + (4)
  • cliquez sur Nouvelle branche (5)

code création branche

Nommez votre branche dans la case Branch name. Ici, je l'appelle framacode-explications (pas d'espaces ni d'accents). On laisse master pour Create from puisque nous souhaitons bien la créer depuis la branche existante master. On clique alors sur Create branch

Faire un changement (commit)

A partir de là, vous pouvez faire les modifications que vous souhaitez. Dans cet exemple, je souhaite remplir la page https://participer.framasoft.org/fr/framacode/workflow-git.html actuellement vide, je vais donc la chercher dans le code en cliquant sur Dépôt dans le menu de gauche, puis sur fr > framacode > workflow-git.md. Je clique sur Éditer pour ouvrir le fichier et pouvoir faire mes modifications.

éditer un fichier

Demander à intégrer les changements (Demandes de fusion)

Une fois mes modifications faites et prêtes à être envoyées, je remplis le Message de commit sous le fichier avec une courte explication de ce que j'ai fait (ici : « Explications de la méthode de travail via l'interface web de framagit ») et je clique sur Commit changes.

git commit changements

Pour envoyer votre travail sur le code originel, vous devez cliquer sur le bouton Créer une demande de fusion.

demande de fusion

Vous êtes alors redirigé sur la page de fusion :

MR discussion

  1. From (depuis) votre dépôt into (dans) celui dans lequel vous souhaitez voir vos modifications
  2. le titre de vos modifications
  3. une explication de ce qu'apporte votre travail
  4. votre branche source
  5. la branche vers laquelle vont les modifications
  6. (optionnel) permet de supprimer la branche une fois la demande de fusion acceptée
  7. envoi de la demande de fusion
  8. une visualisation de vos modifications

Discuter / rectifier

Si tout va bien du premier coup (déjà, félicitations) votre demande est acceptée et vous pouvez supprimer votre dépôt, sinon, vous devez reprendre depuis Faire un changement (commit).

Pour supprimer votre dépôt après que votre demande de fusion ait été acceptée ou refusée, vous devez aller dans Paramètres > Général > cliquer sur Étendre en face de Advanced > Supprimer le projet.

En lignes de commandes et https

  • projet à modifier : https://framagit.org/spf/bacasable
    • nom : bacasable
    • de l’utilisateur : spf
  • nom utilisateur de la personne qui veut contribuer (celle qui effectuera les commandes dans le reste de ce mode d'emploi): piaf

[https] Créer une divergence

Pour commencer nous devons créer une copie du projet. Cela s'appelle Créer une divergence (souvent aussi appelé forker). Pour ce faire, vous devez :

Vous serez redirigé sur votre copie du code (facilement vérifiable en regardant l'adresse : https://framagit.org/VOTRE-PSEUDO/bacasable/ à la place de https://framagit.org/spf/bacasable).

[https] Paramétrer son terminal pour travailler

Dans votre terminal :

  1. déplacez-vous dans le dossier où vous souhaitez mettre le projet
  2. copiez l'adresse https du clone en cliquant sur le bouton Clone : adresse https du projet
  3. clonez le dossier en tapant git clone https://framagit.org/piaf/bacasable (attention : c'est votre copie que vous devez cloner - ici piaf)
  4. votre identifiant et mot de passe Framagit seront demandés :
    git clone https://framagit.org/piaf/bacasable
    Clonage dans 'bacasable'...
    Username for 'https://framagit.org': piaf
    Password for 'https://piaf@framagit.org':
    warning: redirection vers https://framagit.org/piaf/bacasable.git/
    remote: Enumerating objects: 26, done.
    remote: Counting objects: 100% (26/26), done.
    remote: Compressing objects: 100% (18/18), done.
    remote: Total 26 (delta 6), reused 26 (delta 6), pack-reused 0
    Dépaquetage des objets: 100% (26/26), fait.
    
  5. déplacez-vous dans le dossier du projet en faisant cd bacasable/ (nom à adapter en fonction de votre projet)
  6. [Facultatif si vous ne souhaitez faire qu'une seule modification] ajoutez l'adresse du projet originel en tapant : git remote add upstream https://framagit.org/spf/bacasable (adresse à changer en fonction du projet)

[https] Créer une branche

Cette étape n'est pas obligatoire mais permet de faciliter la gestion des changements. Cela permet de faire une copie de votre copie. Pour ce faire vous devez taper dans votre terminal git checkout -b mr1 :

  1. git checkout pour changer de branche
  2. -b permet de créer une nouvelle branche
  3. mr1 est le nom de cette branche (vous pouvez en choisir un autre, tant que celui-ci ne comporte pas d'espace)
git checkout -b mr1
Basculement sur la nouvelle branche 'mr1'

[https] Faire un changement (commit)

Maintenant que vous êtes sur votre nouvelle branche, vous pouvez naviguer dans les dossiers et ouvrir les fichiers avec un éditeur de texte :

image navigation dossier

Une fois les modifications faites, vous pouvez les lister sur votre terminal en faisant git status :

git status
Sur la branche mr1
Modifications qui ne seront pas validées :
  (utilisez "git add <fichier>..." pour mettre à jour ce qui sera validé)
  (utilisez "git checkout -- <fichier>..." pour annuler les modifications dans la copie de travail)

    modifié :         README.md

Fichiers non suivis:
  (utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)

    git-selectionner-profile-fork.png

aucune modification n'a été ajoutée à la validation (utilisez "git add" ou "git commit -a")

Cette commande me dit que :

  1. j'ai fait une modification de fichier : modifié : README.md
  2. j'ai fait un ajout d'une image : Fichiers non suivis: git-selectionner-profile-fork.png

Pour ajouter les images à mon changement (commit) je dois faire git add . :

  1. git add pour demander à ajouter au commit
  2. . pour dire tous les nouveaux fichiers (ici, il n'y en a qu'un seul et on aurait pu écrire git add git-selectionner-profile-fork.png)

Une fois ajouté, on peut refaire un git status pour voir le résultat :

git status
Sur la branche mr1
Modifications qui seront validées :
  (utilisez "git reset HEAD <fichier>..." pour désindexer)

    modifié :         README.md
    nouveau fichier : git-selectionner-profile-fork.png

Les modifications sont bien enregistrées.

Il faut maintenant créer le commit en tapant : git commit -a -m "Ajout d'une image et modification du readme"

  1. git commit -a pour ajouter les modifications au commit
  2. -m "Ajout d'une image et modification du readme" pour donner un titre (entre guillemets) à ce commit (généralement une courte description des changements)
git commit -a -m "Ajout d'une image et modification du readme"
[mr1 ecf9b6c] Ajout d'une image et modification du readme
 2 files changed, 1 insertion(+), 1 deletion(-)
 create mode 100644 git-selectionner-profile-fork.png

Il ne reste plus qu'à envoyer les modifications en faisant : git push origin mr1. Votre identifiant et mot de passe Framagit seront demandés et vous trouverez l'adresse à cliquer pour faire la demande de fusion :

git push origin mr1                                           
Username for 'https://framagit.org': piaf
Password for 'https://piaf@framagit.org':
warning: redirection vers https://framagit.org/piaf/bacasable.git/
Énumération des objets: 6, fait.
Décompte des objets: 100% (6/6), fait.
Compression par delta en utilisant jusqu'à 4 fils d'exécution
Compression des objets: 100% (4/4), fait.
Écriture des objets: 100% (4/4), 14.85 KiB | 14.85 MiB/s, fait.
Total 4 (delta 0), réutilisés 0 (delta 0)
remote:
remote: To create a merge request for mr1, visit:
remote:   https://framagit.org/piaf/bacasable/-/merge_requests/new?merge_request%5Bsource_branch%5D=mr1
remote:
To https://framagit.org/piaf/bacasable
 * [new branch]      mr1 -> mr1

Dans le cas présent : https://framagit.org/piaf/bacasable/-/merge_requests/new?merge_request%5Bsource_branch%5D=mr1

image MR web ui

  1. titre repris de la commande git commit -a -m "Ajout d'une image et modification du readme"
  2. (facultatif si le titre est suffisamment explicite) une description de ce qu'apporte la modification
  3. le bouton Submit demande de fusion pour qu'elle soit proposée au projet originel

[https] Demander à intégrer les changements (Demandes de fusion)

A ce niveau, la demande est faite au projet originel et elle peut être intégrée directement ou discutée avec l'équipe.

Si tout va bien et que votre demande est acceptée, vous pouvez récupérer vos changements et supprimer votre branche :

  1. en tapant git checkout master ou git checkout main pour revenir sur la branche principale
  2. git pull origin pour récupérer les modifications faites et acceptées
  3. git branch -D mr1 :
    1. git branch -D pour supprimer
    2. mr1 étant la branche à supprimer
  4. git pull upstream master (ou git pull upstream main)

Votre dépôt est maintenant à jour avec vos modifications 🎉

results matching ""

    No results matching ""