Vraag Waarschuwing: push.default is uitgeschakeld; de impliciete waarde verandert in Git 2.0


Ik gebruik Git al een tijdje en heb onlangs een update gedownload om te ontdekken dat dit waarschuwingsbericht verschijnt als ik het probeer push.

warning: push.default is unset; its implicit value is changing in 
Git 2.0 from 'matching' to 'simple'. To squelch this message 
and maintain the current behavior after the default changes, use: 

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use: 

  git config --global push.default simple

Ik kan het duidelijk op een van de genoemde waarden instellen, maar wat betekenen ze? Wat is het verschil tussen simple en matching?

Als ik het op één cliënt verander zal ik om het even wat op andere cliënten moeten doen ik repos met deel?


1574
2017-10-30 21:48


oorsprong


antwoorden:


Het wordt in detail uitgelegd de documenten, maar ik zal proberen samen te vatten:

  • matching middelen git push zullen duw al uw lokale vestigingen naar degenen met dezelfde naam op de afstandsbediening. Dit maakt het gemakkelijk om per ongeluk een filiaal te duwen dat u niet van plan was.

  • simple middelen git push zullen duwen alleen de huidige tak naar degene die git pull zou eruit trekkenen controleert ook of hun namen overeenkomen. Dit is een meer intuïtief gedrag, daarom wordt de standaard hierin gewijzigd.

Deze instelling heeft alleen invloed op het gedrag van uw lokale client en kan worden overschreven door expliciet op te geven welke takken u op de opdrachtregel wilt duwen. Andere clients kunnen verschillende instellingen hebben, het heeft alleen invloed op wat er gebeurt als je niet opgeeft welke takken je wilt duwen.


2119
2017-10-30 22:11



Ik realiseer me dat dit een oud bericht is, maar toen ik net hetzelfde probleem tegenkwam en moeite had het antwoord te vinden, dacht ik dat ik het een beetje zou toevoegen.

Dus het antwoord van @ hammar is correct. Gebruik makend van push.default simple is in zekere zin hetzelfde als het configureren van tracking op uw takken, zodat u geen afstandsbedieningen en takken hoeft te specificeren bij het duwen en trekken. De matching optie zal alle takken naar hun corresponderende tegenhangers op de standaard afstandsbediening duwen (wat de eerste was die werd opgezet, tenzij je je repo anders hebt geconfigureerd).

Eén ding dat ik hoop dat anderen in de toekomst van pas komen, is dat ik Git 1.8 op OS X Mountain Lion draaide en deze fout nooit zag. Door het upgraden naar Mavericks is het plotseling opduiken (hardlopen git --version zal laten zien git version 1.8.3.4 (Apple Git-47) die ik nooit had gezien tot de update van het besturingssysteem.


19
2017-10-26 17:00



Als je een bericht krijgt van git die klaagt over de waarde simple in de configuratie controleert u uw git version.

Na het upgraden XCode (op een Mac lopend Mountain Lion), die ook is geüpgraded git van 1.7.4.4 naar 1.8.3.4, shells begonnen voordat de upgrade nog steeds git draaide 1.7.4.4 en klaagde over de waarde simple voor push.default in de globale config.

De oplossing was om de shells te sluiten met de oude versie van git en gebruik de nieuwe versie!


7
2018-01-31 15:35



Ik vroeg me af waarom ik die grote waarschuwing kreeg op Ubuntu 16.04 (die geleverd wordt met Git 2.7.4), maar niet op Arch Linux. De reden is dat de waarschuwing is verwijderd in Git 2.8 (Maart 2016):

Over de overgang rond Git versie 2.0, de gebruiker die vroeger   krijg een behoorlijk luide waarschuwing bij het uitvoeren van "git push" zonder instelling   push.default configuratievariabele. We waarschuwen niet langer omdat het   de transitie is lang geleden voltooid.

Dus je zult de waarschuwing niet zien als je Git 2.8 en later hebt en niet hoeft in te stellen push.default tenzij je de standaard wilt wijzigen 'simple' gedrag.


1
2018-03-19 13:10