// GitHub & Git

Git vs GitHub : quelle différence ?

C’est l’une des confusions les plus fréquentes chez celles et ceux qui débutent : « Git » et « GitHub » sont utilisés presque comme des synonymes, alors qu’ils désignent deux choses très différentes. Comprendre cette distinction éclaire d’un coup tout le fonctionnement du développement moderne. Cet article la clarifie une bonne fois, avec des exemples concrets et un tour des alternatives.

La réponse en une phrase

Git est un outil ; GitHub est un service.

  • Git est un logiciel de gestion de versions que vous installez sur votre ordinateur. Il enregistre l’historique de vos fichiers, en local, sans besoin d’internet.
  • GitHub est une plateforme en ligne qui héberge des projets Git et ajoute une couche de collaboration : interface web, gestion des accès, revue de code, suivi des tâches.

Une analogie parlante : Git est comme un traitement de texte avec un historique de versions illimité sur votre machine ; GitHub est comme un espace de stockage partagé en ligne où plusieurs personnes travaillent sur ces documents ensemble.

Git en détail : le contrôle de version distribué

Git a été créé en 2005 par Linus Torvalds, l’auteur du noyau Linux, pour gérer d’énormes projets collaboratifs. C’est un système de contrôle de version distribué (DVCS).

« Distribué » signifie que chaque personne possède une copie complète du projet et de tout son historique sur sa machine. Il n’y a pas de serveur central obligatoire : vous pouvez commiter, créer des branches, consulter l’historique entièrement hors ligne.

Voici Git à l’œuvre, sans aucun service en ligne :

# Créer un dépôt Git local
git init mon-projet
cd mon-projet

# Enregistrer des modifications
echo "Bonjour" > fichier.txt
git add fichier.txt
git commit -m "Premier commit"

# Consulter l'historique
git log --oneline

À ce stade, GitHub n’intervient nulle part. Git fonctionne entièrement en local. C’est un point que beaucoup de débutants ignorent : on peut utiliser Git seul, sur son ordinateur, sans jamais créer de compte en ligne.

Ce que Git fournit :

  • l’historique complet des modifications,
  • la création de branches pour travailler en parallèle,
  • la fusion (merge) de ces branches,
  • le retour à n’importe quelle version antérieure.

GitHub en détail : héberger et collaborer

GitHub, lancé en 2008 et propriété de Microsoft depuis 2018, est un service d’hébergement pour dépôts Git. Il prend votre projet Git local et lui ajoute tout ce que Git seul ne fait pas.

Ce que GitHub apporte par-dessus Git :

FonctionnalitéRôle
Hébergement distantSauvegarde vos dépôts dans le cloud, accessibles partout
Pull requestsProposer et discuter des modifications avant fusion
IssuesSuivre bugs, tâches et discussions
Gestion des accèsContrôler qui peut lire ou écrire
Actions (CI/CD)Automatiser tests et déploiements
Interface webNaviguer le code sans ligne de commande

Pour lier un dépôt Git local à GitHub, on ajoute un dépôt distant (remote) puis on pousse le code :

# Associer le dépôt local à un dépôt GitHub
git remote add origin [email protected]:votre-nom/mon-projet.git

# Envoyer le code et son historique vers GitHub
git push -u origin main

Le mot origin est simplement le nom conventionnel du dépôt distant. Une fois poussé, votre code devient visible et partageable sur github.com.

Le point clé : la relation entre les deux

C’est là que tout s’éclaire. GitHub a besoin de Git ; Git n’a pas besoin de GitHub.

Quand vous « poussez sur GitHub », vous utilisez la commande git push. Quand vous « récupérez depuis GitHub », vous utilisez git pull ou git clone. GitHub parle le langage de Git — il ne le remplace pas.

À retenir — Toutes les commandes que vous tapez (git add, git commit, git push, git branch) sont des commandes Git. GitHub, lui, est le lieu où le code atterrit et où la collaboration se fait via son interface web.

Si ce socle vous intéresse, notre mémo des commandes Git essentielles rassemble les plus utiles au quotidien.

Un tableau récapitulatif

CritèreGitGitHub
NatureLogiciel installé en localService en ligne
FonctionGérer les versions du codeHéberger et collaborer
Créé parLinus Torvalds (2005)GitHub Inc. / Microsoft (2008)
Fonctionne hors ligneOuiNon (nécessite internet)
InterfaceLigne de commandeWeb + ligne de commande
AlternativesMercurial, SVNGitLab, Bitbucket

Les alternatives à GitHub

GitHub est le plus connu, mais il n’est pas seul. Puisqu’ils reposent tous sur Git, on passe de l’un à l’autre sans réapprendre l’outil sous-jacent.

  • GitLab : très complet, avec une CI/CD intégrée puissante et une version auto-hébergeable. Populaire en entreprise pour garder ses dépôts sur ses propres serveurs.
  • Bitbucket : édité par Atlassian, il s’intègre étroitement avec Jira et Trello, ce qui séduit les équipes déjà dans cet écosystème.
  • Codeberg, Gitea, SourceHut : des options plus légères ou orientées open source et souveraineté.

Le point commun : tous hébergent des dépôts Git. Changer de plateforme ne change rien à votre façon de commiter ou de créer des branches. Vos commandes restent identiques ; seule l’URL du dépôt distant change.

Et les alternatives à Git ?

Côté outil de versioning, Git a largement dominé, mais il a existé et existe encore des concurrents : Mercurial (proche dans l’esprit, distribué lui aussi), Subversion (SVN) (centralisé, plus ancien), ou Perforce (utilisé dans le jeu vidéo pour les gros fichiers binaires). Dans l’immense majorité des projets modernes, cependant, c’est Git qui s’est imposé.

En pratique, pour un débutant

Si vous démarrez, l’ordre logique est le suivant : apprenez Git d’abord (add, commit, branch, merge), car c’est la compétence transférable. GitHub, GitLab ou Bitbucket ne sont que des destinations où envoyer ce travail. Maîtriser Git vous rend à l’aise sur n’importe quelle plateforme.

Une fois cette distinction claire, le reste du vocabulaire — dépôt, remote, push, pull request — tombe en place naturellement. Vous saurez toujours dire ce qui relève de l’outil et ce qui relève de la plateforme.

À lire ensuite