N’est-t-il pas vrai que l’union fait la force ? Et qu’une main lave l’autre main, et les deux lavent le visage ? Bref, dans n’importe quel projet, travailler en équipe booste généralement le travail. Mais…. dans certains domaine peut-être, oui dans la charpenterie, menuiserie, ou dans un chantier où certaines transporte les blocs, construisent…

Et dans la programmation, il y a t-il vraiment des manières efficaces pour mieux travailler ensemble, en équipe ? Là je pense directement à comment Junior peut coder un seul fichier html en même temps qu’Alex sans que les modifications de l’un écrase celle de l’autre. Là c’est juste deux personnes, et si George et Séraphin s’ajoutaient toujours dans ce même pauvre fichier html ? Quid de la synchronisation des fichiers de différents contributeurs ?

Si ces problèmes arrivent dans votre team, sachez tout court que c’est parce que vous n’utilisez pas un logiciel de gestion ou contrôle de version. Découvrons dans la suite de cet article ce que c’est un logiciel de gestion de version, bien sûr ce que c’est Git et Github et à la fin la relation entre git et github.

Sommaire

Voir aussi  #3 Programmation pour tous : Les langages

Logiciel de gestion de version

Un logiciel de gestion de version, version control system, (VCS pour les intimes) est un logiciel qui permet dans un projet, dossier ou repository donné, de faire la suivi de différentes opérations (modification, ajout et suppression de fichier) effectuées.

Les gents s’en passent souvent de ce type de logiciel en gérant chaque version de leurs projets dans différents endroits (/features/v1, /features/v2 etc…) mais c’est toujours pas plus aisé qu’un VCS.

Un logiciel de gestion de version peut vous permettre de savoir :

  • Qui a modifié quel fichier
  • Quand est-ce-que qui a modifié Quel fichier
  • Qui a ajouté Quoi dans Quel fichier
  • Quoi est ajouté par Qui
  • De synchroniser différentes modifications effectuées par différentes personnes.

L’avantage d’utilisation d’un VCS dans un projet

Que cela soit un projet en équipe ou en solo, l’utilisation d’un système de gestion de contrôle présente plusieurs avantages dont :

Inconvenant

Le plus gros inconvenant que j’ai trouvé sur l’utilisation de ces logiciels de gestion de version est sa prise à main qui peut être non cohésive au début et son flow qui n’est toujours pas évident au début.

Voir aussi  Conseil et convention pour programmer proprement

Il existe plusieurs logiciels de gestion de version, les plus connus sont Subversion (SVN), Mercurial et Git.

Git

Vous auriez facilement deviner, Git est un logiciel de gestion de version décentralisé, créé par Linux torvald, le concepteur du noyau Linux, en 2005.  Plus populaire soit-il, Git est le VCS le plus utilisé au moment où j’écris ces lignes.

J’ai personnellement  compris le concept de Git grâce au cours d’openclassrooms sur le sujet, après je j’aille approfondir d’autres notions sur Pro git book. Après que je fasse connaissance aux différentes autres ressources le cas de ce guide ou ça. Et enfin, j’ai regretté de ne pas avoir connu avant Try github et learnbranching

Github

Pour mieux comprendre Github, je crois que je ne dois pas rappeler que Git précède hub pour appeler Github, Comprendre ne serait-ce que le fonctionnement de Git donne une vision globale sur ce qu’est Github, si non, vous n’auriez qu’à voir l’importance que les développeurs le donne sans pourtant savoir pourquoi, et sous cette influence, vous le trouverez aussi génial sans savoir pourquoi c’est génial, ou alors vous serez le genre de ceux qui cliquent dans ce bouton

github

Au lieu de faire

Voir aussi  Comment sécuriser un compte Facebook

Bref, on peut considérer Github comme un hébergeur mais cette fois ci des codes sources. Vous envoyez le code source de votre site web dans votre hébergeur via un client FTP, chez Github, cela se fait via un client Git. D’ailleurs ce n’est pas le seul qui existe, Il y a aussi Bitbucket que je trouve génial pour les projets privés en l’encontre de Github qui les projets privés sont facturables.

L’intégralité de fonctionnalités Github sont celles de Git, parce que Github utilise Git. Mais néanmoins, Github a certaines fonctionnalités qui lui sont propre comme :

  1. Le Fork :  Forker un dépôt A, veut dire créer un dépôt B sur base de dépôt A, en d’autres mots copier le dépôt A dans B
  2. Pull-request : C’est l’effet de demander au propriétaire d’un dépôt A de merge les modification effectué dans le dépôt B forké à partir de A

Grâce à ses deux concepts, l’open-source a vu d’autres angles, la facilité de travailler en équipe même si j’habitais au fin fond du village avec le PC de grand mère, l’oncle mon PC du moment où il y a Internet.

Si vous avez aimé ce post, acclamez-moi juste en dessous

Répondre

Votre email ne sera pas publié Required fields are marked *

Vous pouvez utiliser les balises HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.