Я уже некоторое время использую 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
?
Если я изменю его на одном клиенте, нужно ли мне что-то делать на других клиентах, с которыми я делюсь репо?
git
version-control
git-push
Marko
источник
источник
Ответы:
Это подробно объясняется в документации , но я постараюсь подвести итог:
matching
средстваgit push
будут толкать все свои местные отделения в тех с таким же названием на пульте дистанционного управления. Это позволяет легко нажать на ветку, которую вы не собирались.simple
означает,git push
что подтолкнет только текущую ветвь к той, из которойgit pull
будет извлекать , а также проверит, что их имена совпадают. Это более интуитивное поведение, поэтому значение по умолчанию меняется на это.Этот параметр влияет только на поведение вашего локального клиента, и его можно переопределить, явно указав, какие ветви вы хотите нажать в командной строке. Другие клиенты могут иметь другие настройки, это влияет только на то, что происходит, когда вы не указываете, какие ветви вы хотите нажать .
источник
git push
будет толкать только текущую ветку.Я понимаю, что это старый пост, но, поскольку я столкнулся с той же проблемой и не смог найти ответ, я решил добавить немного.
Так что ответ @ Hammar правильный. Использование
push.default simple
, в некотором смысле, похоже на настройку отслеживания в ваших ветвях, поэтому вам не нужно указывать удаленные узлы и ветви при толкании и вытягивании.matching
Вариант будет толкать все ветви их соответствующих аналоги по умолчанию удаленной (который является первым, который был создан , если вы не настроили ваш репозиторий в противном случае).Я надеюсь, что в будущем другие найдут для себя что-то полезное, что я запускал Git 1.8 на OS X Mountain Lion и никогда не видел этой ошибки. Обновление до Mavericks - это то, что внезапно заставило его появиться (запуск
git --version
покажет то,git version 1.8.3.4 (Apple Git-47)
чего я никогда не видел до обновления ОС.источник
Если вы получили сообщение от git с жалобой на значение
simple
в конфигурации, проверьте вашgit version
.После обновления
XCode
(наMac
работающемMountain Lion
), которое также обновилосьgit
с 1.7.4.4 до 1.8.3.4 , оболочки запускались до того, как обновление все еще работало с git 1.7.4.4, и жаловались на значениеsimple
для push.default в глобальной конфигурации.Решение состояло в том, чтобы закрыть оболочки, использующие старую версию
git
и использовать новую версию!источник
git config --global push.default simple
Мне было интересно, почему я получаю это большое предупреждающее сообщение в Ubuntu 16.04 (который поставляется с Git 2.7.4), но не в Arch Linux. Причина в том, что предупреждение было удалено в Git 2.8 (март 2016 года):
Таким образом, вы не увидите предупреждение, если у вас Git 2.8 и более поздние версии, и
push.default
вам не нужно устанавливать их, если вы не хотите изменить'simple'
поведение по умолчанию .источник