Ci-dessous donne les informations complètes. En bref, simple
ne poussera le current working branch
et même alors que s'il a également le même nom sur la télécommande. Ceci est un très bon réglage pour les débutants et deviendra la valeur par défautGIT 2.0
push.default
Définit l'action que git push doit entreprendre si aucune refspec n'est explicitement indiquée. Différentes valeurs sont bien adaptées à des workflows spécifiques; par exemple, dans un flux de travail purement central (c'est-à-dire que la source d'extraction est égale à la destination du push), l'amont est probablement ce que vous voulez. Les valeurs possibles sont:
rien - ne pas pousser quoi que ce soit (erreur) sauf si une spécification de référence est explicitement donnée. Ceci est principalement destiné aux personnes qui souhaitent éviter les erreurs en étant toujours explicites.
current - appuyez sur la branche actuelle pour mettre à jour une branche avec le même nom du côté réception. Fonctionne dans les workflows centraux et non centraux.
upstream - repousse la branche courante vers la branche dont les changements sont généralement intégrés dans la branche courante (qui s'appelle @ {upstream}). Ce mode n'a de sens que si vous passez au même référentiel à partir duquel vous tirez normalement (c'est-à-dire le flux de travail central).
simple - dans un flux de travail centralisé, travaillez comme en amont avec une sécurité supplémentaire pour refuser de pousser si le nom de la branche en amont est différent du nom local.
Lorsque vous poussez vers une télécommande différente de la télécommande à partir de laquelle vous tirez normalement, travaillez comme courant. C'est l'option la plus sûre et convient aux débutants.
Ce mode deviendra la valeur par défaut dans Git 2.0.
correspondant - pousser toutes les branches ayant le même nom aux deux extrémités. Cela rend le référentiel que vous appuyez pour se souvenir de l'ensemble des branches qui seront expulsées (par exemple, si vous y poussez toujours maint et master et aucune autre branche, le référentiel vers lequel vous poussez aura ces deux branches, et votre maint et master local sera poussé là-bas).
Pour utiliser ce mode efficacement, vous devez vous assurer que toutes les branches que vous souhaitez sortir sont prêtes à être sorties avant d'exécuter git push, car le but de ce mode est de vous permettre de pousser toutes les branches en une seule fois. Si vous finissez généralement de travailler sur une seule branche et que vous extrayez le résultat, alors que les autres branches ne sont pas terminées, ce mode n'est pas pour vous. De plus, ce mode ne convient pas pour pousser dans un référentiel central partagé, car d'autres personnes peuvent y ajouter de nouvelles branches ou mettre à jour la pointe des branches existantes hors de votre contrôle.
C'est actuellement la valeur par défaut, mais Git 2.0 changera la valeur par défaut en simple.