Pousser — ce que c’est, comment fonctionne git push et quand le faire

Auteur : IT Sectr Publié le : 2026-08-01 Temps de lecture : 6 min

Pousser signifie envoyer des commits locaux vers un dépôt Git distant, les rendant accessibles aux autres membres de l’équipe. Après le push, les modifications apparaissent sur GitHub, GitLab ou Bitbucket. Selon GitHub Octoverse 2024, plus de 10 millions de commits sont poussés quotidiennement sur la plateforme. Git push est une action clé pour synchroniser le travail dans une équipe distribuée.

Points clés

  • Pousser — envoyer des commits locaux vers un dépôt distant
  • Après le push les modifications deviennent visibles pour toute l’équipe
  • Plateformes principales — GitHub, GitLab, Bitbucket
  • Push sécurisé — uniquement dans les branches de fonctionnalité, pas directement dans main
  • Hooks pre-push — vérification automatique du code avant l’envoi

Qu’est-ce qu’un push dans Git

Git push est une commande qui transfère les commits d’un dépôt local vers un dépôt distant. Contrairement à un commit, qui enregistre les modifications uniquement sur la machine locale du développeur, un push publie ces modifications pour toute l’équipe. Push est une étape obligatoire avant la création d’une Pull Request et le déploiement.

L’architecture de Git suppose que chaque développeur travaille dans son propre dépôt local. Les commits sont créés localement et s’accumulent jusqu’à ce que le développeur décide de les pousser. Cela offre une liberté : vous pouvez faire de nombreux commits locaux, expérimenter et réécrire l’historique sans affecter les collègues.

bash
# Pousser vers le remote origin, branche main
git push origin main

# Pousser la branche actuelle vers le remote avec upstream
git push -u origin feature/new-dashboard

# Pousser toutes les branches avec des noms correspondants
git push --all origin

# Force push avec lease (push forcé sécurisé)
git push --force-with-lease

Après un push, le dépôt distant met à jour les refs (références de branches) pour qu’elles pointent vers les nouveaux commits. Les autres développeurs peuvent récupérer ces modifications via git pull ou git fetch. Cet échange de commits constitue la base du développement collaboratif.

Comment fonctionne git push

La commande git push compare les branches locales et distantes et ne transfère que les commits manquants. Git ne renvoie pas tous les fichiers — il ne transfère que le delta, ce qui rend le push rapide même pour les grands dépôts. Protocole Git utilise le transfert intelligent, qui minimise la quantité de données transmises.

Si la branche distante contient des commits qui ne sont pas présents localement, le push sera rejeté. C’est un mécanisme de protection qui évite la perte de modifications. Dans cette situation, le développeur doit d’abord exécuter git pull, fusionner les modifications, puis pousser à nouveau. Une alternative est le force push, qui écrase la branche distante, mais il doit être utilisé avec précaution.

CommandeActionQuand l’utiliser
git pushpush standard vers la branche suivieenvoi régulier de modifications
git push -upush avec configuration upstreampremier push d’une nouvelle branche
git push --force-with-leaseforce push sécuriséaprès rebase de votre branche
git push --forcepush forcéseulement si sûr qu’il n’y a pas de collisions
git push --deletesupprimer la branche distantenettoyage après fusion de branche

Comprendre les dépôts distants est la clé pour bien pousser. Généralement, origin est le nom du dépôt distant par défaut. La commande git remote -v affiche la liste des dépôts distants et leurs URL. Vous pouvez ajouter plusieurs remotes (par exemple, origin pour le dépôt principal et upstream pour un fork).

Quand pousser des modifications

La règle principale : poussez après chaque étape de travail logiquement terminée. Si un développeur a terminé une tâche ou une partie de celle-ci — il est temps de pousser. Cependant, pousser du travail inachevé qui casse la compilation n’est pas recommandé. Compilation non cassée est l’exigence minimale pour pousser vers n’importe quelle branche.

Dans le développement en équipe, le rythme suivant est adopté : le matin — git pull pour obtenir les modifications des collègues, pendant la journée — plusieurs commits et un ou deux pushes, le soir — un push final de toutes les tâches terminées. Plus un développeur pousse fréquemment, plus le risque de conflits de fusion est faible et plus l’avancement du travail est transparent.

  • Après avoir terminé une tâche — commiter et pousser la solution finale dans la branche de fonctionnalité
  • Avant de partir — pousser le travail inachevé dans une branche de fonctionnalité (pas dans main !)
  • Avant de créer un PR — s’assurer que tous les commits sont poussés et disponibles pour la relecture
  • Après rebase — pousser avec --force-with-lease dans votre branche de fonctionnalité

Règles de push sécurisé

Le push sécurisé est un ensemble de règles qui empêchent la perte de données et les conflits dans l’équipe. La première et la plus importante règle : ne jamais pousser directement dans la branche main ou master si le projet n’a pas de déploiement direct configuré. Dans les équipes modernes, la protection de la branche main est configurée au niveau de la protection de branche GitHub.

La deuxième règle : synchronisez-vous avec la branche distante avant de pousser. Exécutez git pull --rebase pour éviter les commits de fusion lors de la fusion. Cela simplifie l’historique et le rend linéaire. Si un push est rejeté — n’utilisez pas un simple force push, mais d’abord découvrez quels commits sont apparus sur la branche distante.

La troisième règle : configurez des hooks pre-push qui exécutent automatiquement les tests et les linters avant l’envoi. Si les tests échouent — le push est bloqué. Ces hooks sont configurés via Husky ou les hooks Git (fichier pre-push dans .git/hooks).

La quatrième règle : ne poussez pas de gros fichiers binaires. Git n’est pas conçu pour stocker des artefacts binaires — ils gonflent le dépôt et ralentissent les opérations. Pour les gros fichiers, utilisez Git LFS (Large File Storage). Si un binaire a déjà été poussé et se trouve dans l’historique, il doit être supprimé via git filter-branch.

Que faire si le push échoue

La cause la plus courante d’un échec de push est que la branche distante contient des commits qui ne sont pas présents localement. Cela se produit lorsqu’un autre développeur a poussé ses modifications dans la même branche. Solution : exécutez git pull, résolvez les éventuels conflits et poussez à nouveau.

bash
# Push rejeté — d’abord fetch et rebase
git fetch origin
git rebase origin/main
# Résoudre les conflits, puis :
git push --force-with-lease

# Ou simplement fusionner les modifications distantes
git pull origin main
git push

La deuxième raison — absence de permissions d’écriture sur la branche. Si la branche main est protégée par des règles de protection de branche, les pushes directs sont interdits. Solution : pousser vers une branche de fonctionnalité et créer une Pull Request. Les paramètres de protection sont généralement administrés via les paramètres GitHub ou les branches protégées de GitLab.

La troisième raison — problèmes d’authentification. Identifiants obsolètes, passage à SSH ou modification du jeton d’accès personnel. Solution : vérifiez l’URL distante (git remote -v) et mettez à jour les identifiants. Depuis 2021, GitHub a supprimé l’authentification par mot de passe pour HTTPS — utilisez un jeton personnel ou une clé SSH.

Questions fréquentes

Que signifie pousser dans Git ?

Pousser signifie envoyer des commits locaux du dépôt d’un développeur vers un serveur distant (GitHub, GitLab). Après le push, les modifications sont disponibles pour l’équipe, apparaissent dans les Pull Requests et peuvent être déployées. Push est l’étape finale du travail local sur le code avant la collaboration en équipe.

Quelle est la différence entre push et commit ?

Commit enregistre les modifications localement, dans le dépôt du développeur. Push envoie ces commits locaux vers un serveur distant. Vous pouvez faire de nombreux commits sans pousser, mais pour que les collègues voient les modifications, vous devez pousser. Commit est la sauvegarde, push est la publication.

Que faire si git push est rejeté ?

Un push est rejeté si la branche distante contient des commits qui ne sont pas présents localement. Solution : exécutez git pull (ou git fetch + git rebase), fusionnez les modifications et poussez à nouveau. Si vous travaillez dans votre propre branche de fonctionnalité et avez confiance dans les modifications, utilisez git push --force-with-lease.

Peut-on annuler un push déjà effectué ?

Oui, mais avec précaution. Utilisez git revert <commit-hash> — il crée un commit qui annule les modifications. Ensuite, poussez le nouveau commit. Si vous devez supprimer des commits de l’historique, utilisez git reset + git push --force-with-lease, mais uniquement dans votre propre branche de fonctionnalité. git revert est le choix sûr pour les branches partagées.

Pourquoi est-il important de pousser chaque jour ?

Le push régulier évite la perte de données en cas de panne de la machine locale, réduit les conflits de fusion et donne à l’équipe une visibilité sur l’avancement. Si un développeur ne pousse pas pendant une semaine, ses modifications peuvent diverger considérablement de la branche main, entraînant des conflits complexes lors de la fusion.

Résumé

  • Pousser — envoyer des commits locaux vers un dépôt distant pour l’équipe
  • Différence de commit — commit sauvegarde localement, push publie sur le serveur
  • Protection de main — pousser uniquement dans les branches de fonctionnalité, dans main via PR
  • Force push — utiliser uniquement avec --force-with-lease dans vos propres branches
  • Vérifications pre-push — tests et linters via les hooks Git ou Husky
  • Fréquence — pousser après chaque modification logiquement terminée
  • Problèmes — si le push est rejeté, d’abord pull ou rebase, puis réessayer

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi