31. Transférer les modifications vers GitHub (git push)

L'utilisation de Git comme système de contrôle de version est essentielle pour la collaboration et la gestion efficace des projets logiciels. GitHub, à son tour, agit comme une plate-forme d'hébergement de code utilisant Git, permettant aux équipes et aux développeurs individuels de stocker leurs référentiels à distance et de manière accessible. L'une des opérations les plus fondamentales de cette collaboration est la possibilité de « pousser » ou de « pousser » les modifications du référentiel local vers le référentiel distant sur GitHub. Ce chapitre explore la commande git push et ses nuances.

La commande git push

La commande git push est utilisée pour pousser les validations du référentiel local vers un référentiel distant. Cette opération est cruciale, car c'est ainsi que les modifications apportées localement deviennent accessibles aux autres collaborateurs du projet. La syntaxe de base de la commande est :

git push [alias du référentiel distant][branche]

Par exemple, pour transmettre les modifications de la branche locale appelée « main » vers la branche « principale » dans le référentiel distant par défaut (généralement « origin »), vous utiliserez :

git push origin principal

Configuration du référentiel distant

Avant de pouvoir envoyer des modifications, vous devez configurer un référentiel distant. Cela se fait généralement lors du clonage d'un référentiel GitHub, où « origine » est automatiquement défini pour pointer vers le référentiel cloné. Si vous avez créé un référentiel local et souhaitez le lier à un référentiel distant, vous pouvez ajouter un 'remote' avec la commande :

git remote add origin [URL du référentiel distant]

Où « [URL du référentiel distant] » est l'adresse de votre référentiel GitHub.

Pousser le changement

Lorsque vous effectuez un git push, Git tentera de pousser tous les commits de la branche spécifiée qui ne sont pas présents dans le référentiel distant. Si c'est la première fois que vous transférez une branche locale vers le référentiel distant, vous devrez peut-être définir l'amont avec l'indicateur -u:

git push -u origin main

Cela pousse non seulement la branche « principale », mais configure également le suivi afin qu'à l'avenir, vous puissiez simplement utiliser git push sans spécifier la branche.

Gérer les conflits

Si d'autres personnes ont apporté des modifications au référentiel distant depuis votre dernière mise à jour, vous risquez de rencontrer des conflits. Git empêchera le push si cela entraîne un chevauchement d'historique non trivial. Dans ce cas, vous devrez d'abord synchroniser vos modifications locales avec celles distantes, généralement avec un git pull ou un git fetch suivi d'un git merge ou < code>git rebase, avant de réessayer le push.

Forcer une poussée

Dans des circonstances exceptionnelles, vous devrez peut-être "forcer" le push avec l'indicateur --force ou -f. Cela remplacera l'historique du référentiel distant par votre historique local. Il s'agit d'une commande potentiellement dangereuse et doit être utilisée avec une extrême prudence car elle peut entraîner la perte de validations dans le référentiel distant :

git push -f origin main

Pousser toutes les branches

Pour transférer toutes vos branches locales vers le référentiel distant, vous pouvez utiliser :

git push --all origin

Cette commande est utile lorsque vous souhaitez partager plusieurs branches, mais rappelez-vous qu'elle ne poussera que les branches dont un équivalent distant est configuré.

Pousser les balises

Les balises dans Git sont utilisées pour marquer des points spécifiques dans l'historique du référentiel, généralement pour indiquer les versions. Pour transférer vos balises locales vers GitHub, vous utiliserez :

git push origin --tags

Cela synchronise toutes les balises locales avec le référentiel distant qui n'ont pas encore été téléchargées.

Bonnes pratiques pour promouvoir le changement

  • Vérifiez toujours que vous êtes sur la bonne branche avant de pousser.
  • Évitez de transférer du code inachevé ou défectueux vers des branches partagées.
  • Utilisez git push --force avec une grande prudence et de préférence sur des branches qui ne sont pas partagées ou dans des situations où vous êtes sûr que personne ne sera affecté négativement.
  • Communiquez avec votre équipe lorsque vous effectuez des opérations susceptibles d'affecter le flux de travail de chacun, comme un rebase ou un push forcé.

Conclusion

L'envoi de modifications vers GitHub est une opération de routine pour les développeurs utilisant Git. Comprendre comment fonctionne git push et comment l'utiliser efficacement est essentiel pour maintenir un flux de travail collaboratif sain et productif. N'oubliez pas que l'utilisationUne utilisation responsable et communicative de git push, en particulier en équipe, est essentielle pour éviter les conflits et les pertes de données.

Répondez maintenant à l’exercice sur le contenu :

Quel est le rôle de la commande `git push` dans le contexte du travail avec Git et GitHub ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Pull Requests : contribuer aux projets

Page suivante de lebook gratuit :

32Pull Requests : contribuer aux projets

0 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte