Di seguito fornisce le informazioni complete. In breve, simple
spingerà solo current working branch
e anche solo se avrà anche lo stesso nome sul telecomando. Questa è un'ottima impostazione per i principianti e diventerà l'impostazione predefinita inGIT 2.0
push.default
Definisce l'azione che git push dovrebbe intraprendere se nessuna refspec viene esplicitamente fornita. Valori diversi sono adatti per flussi di lavoro specifici; ad esempio, in un flusso di lavoro puramente centrale (ovvero la fonte di recupero è uguale alla destinazione push), probabilmente è quello a monte quello che vuoi. I valori possibili sono:
niente - non spingere nulla (errore) a meno che non venga esplicitamente dato un refspec. Questo è principalmente pensato per le persone che vogliono evitare errori essendo sempre esplicite.
corrente: premere il ramo corrente per aggiornare un ramo con lo stesso nome sull'estremità ricevente. Funziona in flussi di lavoro sia centrali che non centrali.
upstream: rimanda il ramo corrente al ramo le cui modifiche sono generalmente integrate nel ramo corrente (che si chiama @ {upstream}). Questa modalità ha senso solo se si sta spingendo nello stesso repository da cui normalmente si preleva (ovvero flusso di lavoro centrale).
semplice: nel flusso di lavoro centralizzato, funziona come a monte con una sicurezza aggiuntiva per rifiutare di spingere se il nome della diramazione a monte è diverso da quello locale.
Quando si spinge verso un telecomando diverso dal telecomando da cui si estrae normalmente, lavorare come corrente. Questa è l'opzione più sicura ed è adatta per i principianti.
Questa modalità diventerà quella predefinita in Git 2.0.
matching - spinge tutti i rami con lo stesso nome su entrambe le estremità. Questo rende il repository che stai spingendo per ricordare l'insieme di rami che verranno espulsi (ad es. Se spingi sempre maint e master lì e nessun altro ramo, il repository a cui spingi avrà questi due rami e il tuo maint e master locale verrà spinto lì).
Per utilizzare questa modalità in modo efficace, è necessario assicurarsi che tutti i rami che si espellere siano pronti per essere espulsi prima di eseguire git push, poiché l'intero punto di questa modalità è consentire di spingere tutti i rami in una volta sola. Se di solito finisci di lavorare su un solo ramo e estrai il risultato, mentre altri rami non sono finiti, questa modalità non fa per te. Inoltre, questa modalità non è adatta per l'inserimento in un repository centrale condiviso, in quanto altre persone possono aggiungere lì nuove filiali o aggiornare la punta delle filiali esistenti al di fuori del tuo controllo.
Questo è attualmente il valore predefinito, ma Git 2.0 cambierà il valore predefinito in semplice.