Header

Koffi Sani on Code

Permettez que je parle ici de ma vie de concepteur de logiciels

Comment effectuer sa première contribution Open Source

· Git · Code, Git, Github, Gitlab, Open Source

Il n’y a aucun logiciel que nous ayons utilisé qui ne soit fait d’éléments Open Source. Plus que jamais, contribuer à l’open source devient une obligation. Voici comment le faire sur Github. L'amour du logiciel libre

Premières Contributions

C’est dur. C’est toujours dur la première fois que l’on fait quelque chose. Spécialement quand vous collaborez, faire des fautes n’est pas du tout confortable. Mais le logiciel libre est fait de collaboration et de travail de groupe. Nous voulons simplifier la manière dont les nouveaux contributeurs au logiciel libre apprennent et contribuent pour la première fois.

Lire des articles et suivre des tutoriels peut aider, mais qu’y a-t-il de meilleur que de faire un truc sans le moindre désordre ? Ce projet a pour ambition de fournir des conseils et simplifier la manière dont les bleus font leur première contribution. Rappel : plus vous êtes relax, mieux vous apprenez. Si vous aspirez à faire votre première contribution, suivez tout simplement les étapes suivantes. Promis, ce sera amusant.

Si vous n’avez pas git sur votre ordinateur, installez-le .

embrancher ce repertoire

Embranchez ce répertoire

Embranchez ce répertoire en cliquant sur le bouton de fork en haut de la page.

Ceci créera une copie du répertoire sous votre compte.

Clonez ce répertoire

clonez ce répertoire

Maintenant, clonez ce répertoire sur votre ordinateur. Cliquez sur le bouton clone puis cliquez sur l’icon copier dans le presse-papier.

Ouvrez un invite de commande et exécutez les commandes git suivantes :

git clone "l'url que vous venz de copier"

où “l’url que vous venez de copier” (sans les guillemets) est l’url du répertoire. VVoir la section précédante afin d’obtenir l’url.

copier l'URL dans le presse-papier

Par exemple:

git clone https://github.com/votre-nom-d-utilisateur/first-contributions.git

votre-nom-d-utilisateur est votre nom d’utilisateur GitHub. Ici vous êtes en train de copier le contenu du répertoire first-contributions depuis GitHub sur votre ordinateur.

Créez une branche

Déplacez-vous dans le répertoire du projet nouvellement cloné (si vous n’y êtes pas encore) :

cd first-contributions

Maintenant créez une branche avec le commande git checkout :

git checkout -b <add-votre-nom>

Par exemple:

git checkout -b add-koffi-sani

(Le nom de la branch n’a pas besoin de contenir le terme add, mais c’est raisonnable de l’inclure parce l’objectif de cette branche est d’ajouter votre nom à une liste.)

Effectuez les modifications nécessaires et engagez-les

Maintenant, ouvrez le fichier Contributors.md dans un éditeur de texte, ajoutez-y votre nom, et enrégistrez-le. Si vous ouvrez l’invite de commande et vous exécutez la commande git status, vous verrez qu’il y a des modifications. Ajoutez ces modifications à la branche que vous venez de créer avec la commande git add :

git add Contributors.md

Maintenant engagez ces modifications avec la commande git commit:

git commit -m "Add <your-name> to Contributors list"

en remplaçant <your-name> par votre nom.

Poussez les modifications vers GitHub

Poussez vos modifications avec la commande git push:

git push origin <add-your-name>

en remplaçant <add-your-name> avec le nom de la branche précédemment créée.

Soumettez vos changements pour révision

Si vous visitez votre répertoire sur Github, vous verrez un bouton Compare & pull request. Cliquez sur ce bouton.

create a pull request

Maintenant soumettez la demande de tirage.

submit pull request

Sous peu j’aurai fusionné toutes vos modifications avec la branche master de ce projet. Vous recevrez un mail de notification dès que la fusion est effectuée.

La branche master de votre embranchement ne subira pas de modification à cet instant. Pour que votre embranchement soit synchronisé avec le mien, suivez les étapes suivantes.

Gardez votre embranchement synchronisé avec ce répertoire

D’abord, basculez sur la branche master

 git checkout master

Et ajouter l’url de mon répertoire comme upstream remote url:

git remote add upstream https://github.com/Roshanjossey/first-contributions

Ceci est une manière de dire à git qu’une autre version de ce répertoire existe à l’adresse spécifiée et que nous l’appelons upstream. Une fois les modifications fusionnées, cherchez la nouvelleversion de mon répertoire :

git fetch upstream

Ici nous cherchons toutes les modification dans mon embranchement (upstream remote). Maintenant, vous devez fusionner la nouvelle révision de mon répertoire avec votre branche master :

git rebase upstream/master

Ici nous appliquons toutes les modifications que vous avez cherché à la branche master. Si vous poussez la branche master maintenant, votre embranchement aussi aura les modifications :

git push origin master

Avertissement: Cette fois, vous poussez au répertoire distant appelé origin.

A ce niveau j’ai fusionné votre branche <add-your-name> avec ma branche master, et vous avez fusionné ma branche master avec votre branche master. Votre branche <add-your-name> n’est plus utile, donc vous pouvez la supprimer:

git branch -d <add-your-name>

et vous pouvez supprimer sa version dans le répertoire distant aussi :

git push origin --delete <add-your-name>

Ceci n’est pas nécessaire, mais le nom de la branche montre son but plutôt particulier. Sa durée de vie peut être rendue courte.

Tutoriels en utilisant d’autres outils

GitHub Desktop Visual Studio 2017 GitKraken
GitHub Desktop Visual Studio 2017 GitKraken

Où aller depuis ici ?

Voici pour un débutant quelques problèmes que vous pourrez résoudre dans des répertoires populaires. Allez, visitez ces répertoires afin d’apprendre davantage.

exercism fun-retro habitat scikit-learn elasticsearch
exercism Fun Retros react habitat scikit-learn Leiningen numpy elasticsearch
homebrew rust vuejs Suave OpenRA PowerShell coala moment
homebrew Rust vuejs Suave OpenRA PowerShell coala moment
ava freeCodeCamp webpack hoodie pouchdb neovim babel
ava freeCodeCamp webpack hoodie pouchdb neovim babel brackets
Node.js            
Node.js Semantic-UI-React            

Ce article est extrait de ma contribution à ce dépôt Github et est un complément de cet article.

GOOGLE+

LINKEDIN

© 2018. Tout droit réservé.