Предупреждение: push.default не е инсталиран; неговите имплицитни промени в стойността на git 2.0

Използвах Git за известно време и наскоро изтеглих актуализацията, за да намеря това предупредително съобщение, когато се опитвам да 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 

Очевидно мога да го поставя на една от споменатите стойности, но какво означават те? Каква е разликата между simple и matching ?

Ако го променя на един клиент, ще трябва ли да направя нещо на други клиенти, с които споделям репозиции?

1574
31 окт. настроен от Марко на 31 октомври 2012-10-31 00:48 '12 в 0:48 2012-10-31 00:48
@ 4 отговора

Това е обяснено подробно в документите , но ще се опитам да обобщя:

  • matching означава, че git push ще тласне всичките ви локални клонове към тези със същото име на дистанционното управление. Това улеснява случайното натискане на клон, който не сте възнамерявали.

  • simple означава, че git push само ще избута текущия клон до този, който ще излезе от git pull и също ще провери дали техните имена съвпадат. Това е по-интуитивно поведение, така че стойността по подразбиране се променя.

Този параметър засяга само поведението на вашия локален клиент и може да бъде отменено чрез изрично посочване на клоновете, които искате да кликнете върху командния ред. Други клиенти могат да имат различни настройки, това засяга само това, което се случва, когато не посочите кои клонове искате да кликнете .

2118
31 окт. отговор даден hammar 31 октомври. 2012-10-31 01:11 '12 в 1:11 ч. 2012-10-31 01:11

Разбирам, че това е стар пост, но тъй като аз просто се сблъсках със същия проблем и не можах да намеря отговор, мислех, че ще добавя малко.

Така че отговорът на @hammar е правилен. Използването на push.default simple в смисъл, подобно на проследяването на настройките във вашите клонове, така че не е необходимо да посочвате конзоли и клонове, когато щраквате и плъзгате. Опцията за matching ще изтласка всички клонове към съответните съответствия на отдалечения компютър по подразбиране (което е първото, което е конфигурирано, ако не сте конфигурирали репо).

border=0

Едно нещо, което се надявам другите да намерят полезно в бъдеще, е, че аз стартирах Git 1.8 на OS X Mountain Lion и никога не видях тази грешка. Обновяването до Mavericks е това, което изведнъж се появи (работещ git --version ще покаже git version 1.8.3.4 (Apple Git-47) , която никога не съм виждал преди надграждане на операционната система.

19
26 окт. отговор, даден от законопроекта 26 октомври 2013-10-26 20:00 '13 в 20:00 часа 2013-10-26 20:00 часа

Ако сте получили съобщение от git, което се оплаква от стойността на simple в конфигурацията, проверете git version на git version .

След актуализирането на XCodeMac работещ с Mountain Lion ), който също актуализира git от 1.7.4.4 до 1.8.3.4 , обвивката стартира преди актуализацията да продължава да работи с git 1.7.4.4 и се оплаква от simple стойност за push.default в глобалната конфигурация ,

Решението беше да затворите черупките, които стартират старата версия на git , и да използвате новата версия!

7
31 янв. Отговор: Том Барън 31 януари 2014-01-31 18:35 '14 в 18:35 2014-01-31 18:35

Чудех се защо получих това голямо предупредително съобщение за Ubuntu 16.04 (което идва с Git 2.7.4), но не и за Arch Linux. Причината е, че предупреждението бе премахнато в Git 2.8 (март 2016 г.):

По време на прехода от Git версия 2.0, потребителят използва доста силно предупреждение, когато стартира "git push" без да зададе конфигурационната променлива push.default. Вече не предупреждаваме, защото преходът беше завършен отдавна.

По този начин няма да виждате предупреждения, ако имате Git 2.8 и по-късно push.default не е нужно да задавате push.default ако не искате да променяте поведението по подразбиране на 'simple' .

1
19 марта '18 в 16:10 2018-03-19 16:10 отговорът е даден от Евгений Ярмаш 19 март 18 16:10 ч. 2018-03-19 16:10

Други въпроси относно маркерите за или Задайте въпрос