Pushing commits to a remote repository

  • par

La commande git push prend deux arguments :

  • Un nom distant, par exemple, origin
  • Un nom de branche, par exemple, main

Par exemple :

git push <REMOTENAME> <BRANCHNAME> 

À titre d’exemple, vous exécutez généralement git push origin main pour pousser vos modifications locales vers votre dépôt en ligne.

Renommer des branches

Pour renommer une branche, vous utiliseriez la même commande git push, mais vous ajouteriez un argument supplémentaire : le nom de la nouvelle branche. Par exemple :

git push <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME> 

Ceci pousse la LOCALBRANCHNAME vers votre REMOTENAME, mais elle est renommée en REMOTEBRANCHNAME.

Gérer les erreurs « non-fast-forward »

Si votre copie locale d’un dépôt est désynchronisée avec, ou « derrière », le dépôt amont vers lequel vous poussez, vous obtiendrez un message disant non-fast-forward updates were rejected.Cela signifie que vous devez récupérer, ou  » fetch « , les modifications en amont, avant de pouvoir pousser vos modifications locales.

Pour plus d’informations sur cette erreur, consultez la section  » Gérer les erreurs non fast-forward. »

Pousser des balises

Par défaut, et sans paramètres supplémentaires, git push envoie toutes les branches correspondantes qui ont les mêmes noms que les branches distantes.

Pour pousser une seule balise, vous pouvez émettre la même commande que pour pousser une branche :

git push <REMOTENAME> <TAGNAME> 

Pour pousser toutes vos balises, vous pouvez taper la commande :

git push <REMOTENAME> --tags

Suppression d’une branche ou d’une balise distante

La syntaxe pour supprimer une branche est un peu obscure à première vue :

git push <REMOTENAME> :<BRANCHNAME> 

Notez qu’il y a un espace avant les deux points. La commande ressemble aux mêmes étapes que celles que vous suivriez pour renommer une branche. Cependant, ici, vous demandez à Git de ne rien pousser dans BRANCHNAME sur REMOTENAME. De ce fait, git push supprime la branche sur le dépôt distant.

Remotes et forks

Vous savez peut-être déjà que vous pouvez  » forker  » des dépôts sur GitHub.

Lorsque vous clonez un dépôt que vous possédez, vous lui fournissez une URL distante qui indique àGit où aller chercher et pousser les mises à jour. Si vous voulez collaborer avec le dépôt d’origine, vous ajouteriez une nouvelle URL distante, généralement appelée upstream, à votre clone Git local :

git remote add upstream <THEIR_REMOTE_URL> 

Maintenant, vous pouvez récupérer les mises à jour et les branches de leur fork :

git fetch upstream# Grab the upstream remote's branches> remote: Counting objects: 75, done.> remote: Compressing objects: 100% (53/53), done.> remote: Total 62 (delta 27), reused 44 (delta 9)> Unpacking objects: 100% (62/62), done.> From https://github.com/octocat/repo> * main -> upstream/main

Quand vous avez fini d’apporter des modifications locales, vous pouvez pousser votre branche locale vers GitHubet lancer une demande de pull.

Pour plus d’informations sur le travail avec les forks, voir « Synchronisation d’un fork ».

Lecture complémentaire

  • Le chapitre « Remotes » du livre « Pro Git »
  • git remote page de manuel
  • « Git cheatsheet »
  • « Git workflows »
  • « Git Handbook »

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *