Le "Git" dans GitHub
Pour comprendre GitHub, vous devez d’abord comprendre Git. Git est un système de contrôle de version à source ouverte lancé par Linus Trovalds, la même personne qui a créé Linux. Git est similaire aux autres systèmes de contrôle de versions, tels que Subversion, CVS et Mercurial.
Donc, Git est un système de contrôle de version, mais qu'est-ce que cela signifie? Lorsque les développeurs créent quelque chose (une application, par exemple), ils apportent des modifications constantes au code, en publiant les nouvelles versions jusqu'à et après la première version officielle (non bêta).
Les systèmes de contrôle de version maintiennent ces révisions dans l’ordre, en enregistrant les modifications dans un référentiel central. Cela permet aux développeurs de collaborer facilement, car ils peuvent télécharger une nouvelle version du logiciel, apporter des modifications et télécharger la dernière révision. Chaque développeur peut voir ces nouvelles modifications, les télécharger et contribuer.
De même, les personnes n'ayant rien à voir avec le développement d'un projet peuvent toujours télécharger les fichiers et les utiliser. La plupart des utilisateurs de Linux devraient être familiarisés avec ce processus, car utiliser Git, Subversion ou une autre méthode similaire est assez courant pour télécharger les fichiers nécessaires, en particulier pour préparer la compilation d'un programme à partir du code source (une pratique plutôt courante pour les geeks Linux).
Git est le système de contrôle de version préféré de la plupart des développeurs, car il présente de nombreux avantages par rapport aux autres systèmes disponibles. Il stocke les modifications de fichiers plus efficacement et garantit une meilleure intégrité des fichiers. Si vous souhaitez en connaître les détails, consultez la page Principes de base de Git pour en savoir plus sur le fonctionnement de Git.
Le "Hub" dans GitHub
Nous avons établi que Git est un système de contrôle de version, similaire mais meilleur que les nombreuses alternatives disponibles. Alors, qu'est-ce qui rend GitHub si spécial? Git est un outil de ligne de commande, mais le centre autour duquel tout tourne autour de Git est le hub - GitHub.com - où les développeurs stockent leurs projets et leurs réseaux avec des personnes partageant les mêmes idées.
Examinons quelques-unes des principales raisons pour lesquelles les geeks aiment utiliser GitHub, et apprenez quelques termes tout au long de votre parcours.
Dépôt
Un référentiel (généralement abrégé en «repo») est un emplacement où sont stockés tous les fichiers d'un projet particulier. Chaque projet a son propre référentiel et vous pouvez y accéder avec une URL unique.
Forking a Repo
"Forking" signifie que vous créez un nouveau projet basé sur un autre projet existant. C'est une fonctionnalité étonnante qui encourage grandement le développement ultérieur de programmes et d'autres projets. Si vous trouvez un projet sur GitHub auquel vous souhaitez contribuer, vous pouvez créer un référentiel, effectuer les modifications souhaitées et publier le projet révisé en tant que nouveau référentiel. Si le référentiel d'origine que vous avez créé pour créer votre nouveau projet est mis à jour, vous pouvez facilement ajouter ces mises à jour à votre branche actuelle.
Demandes de traction
Vous avez créé un référentiel dans le référentiel, effectué une révision importante du projet et souhaitez que les développeurs d’origine le reconnaissent (il est peut-être même inclus dans le référentiel / projet officiel). Vous pouvez le faire en créant une demande d'extraction. Les auteurs du référentiel d'origine peuvent voir votre travail, puis choisir de l'accepter ou non dans le projet officiel. Chaque fois que vous émettez une demande d'extraction, GitHub constitue un moyen de communication idéal pour vous et le responsable de projet principal du projet.
Réseaux sociaux
L'aspect réseau social de GitHub est probablement sa fonctionnalité la plus puissante, permettant aux projets de se développer davantage que n'importe quelle autre fonctionnalité proposée. Chaque utilisateur de GitHub a son propre profil qui agit comme un curriculum vitae, montrant vos travaux antérieurs et vos contributions à d'autres projets via des demandes d'extraction.
Les révisions de projet peuvent être discutées publiquement, de sorte qu'une masse d'experts peut apporter des connaissances et collaborer pour faire avancer un projet. Avant l'avènement de GitHub, les développeurs souhaitant contribuer à un projet devraient généralement trouver un moyen de contacter les auteurs, probablement par courrier électronique, puis de les convaincre qu'ils peuvent faire confiance à leur contribution et qu'elle est légitime.
Changelogs
Lorsque plusieurs personnes collaborent sur un projet, il est difficile de garder trace des révisions: qui a modifié quoi, quand et où ces fichiers sont stockés. GitHub s’occupe de ce problème en gardant une trace de tous les changements qui ont été transmis au référentiel.
GitHub n'est pas juste pour les développeurs
Toutes ces discussions sur l'idéal de GitHub pour les programmeurs peuvent vous faire croire qu'ils sont les seuls à le trouver utile. Bien que ce soit beaucoup moins courant, vous pouvez utiliser GitHub pour n’importe quel type de fichier. Si votre équipe modifie constamment un document Word, par exemple, vous pouvez utiliser GitHub comme système de contrôle de version. Cette pratique n’est pas courante, car il existe de meilleures solutions dans la plupart des cas, mais c’est quelque chose à garder à l’esprit.
Maintenant que vous savez ce qu'est GitHub, êtes-vous prêt à commencer? Rendez-vous sur GitHub.com et ne manquez pas de consulter leurs pages d'aide après votre inscription.