Estou usando o Git há algum tempo e baixei recentemente uma atualização apenas para encontrar essa mensagem de aviso quando tento 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
Obviamente, posso defini-lo com um dos valores mencionados, mas o que eles significam? Qual é a diferença entre simple
e matching
?
Se eu alterá-lo em um cliente, precisarei fazer algo em outros clientes com os quais compartilho repo?
git
version-control
git-push
Marko
fonte
fonte
Respostas:
Isso é explicado em detalhes nos documentos , mas tentarei resumir:
matching
meiosgit push
vai empurrar todas as suas filiais locais para aqueles com o mesmo nome no controle remoto. Isso facilita empurrar acidentalmente um ramo que você não pretendia.simple
meiosgit push
vai empurrar apenas o ramo atual para aquele quegit pull
iria puxar , e também verifica que seus nomes correspondem. Esse é um comportamento mais intuitivo, e é por isso que o padrão está sendo alterado para isso.Essa configuração afeta apenas o comportamento do seu cliente local e pode ser substituída especificando explicitamente quais ramificações você deseja enviar na linha de comando. Outros clientes podem ter configurações diferentes, isso afeta apenas o que acontece quando você não especifica quais ramificações deseja enviar .
fonte
git push
que empurraria apenas a filial atual.Percebo que este é um post antigo, mas como acabei de encontrar o mesmo problema e tive problemas para encontrar a resposta, pensei em adicionar um pouco.
Portanto, a resposta de @ hammar está correta. De
push.default simple
certa forma, usar é como configurar o rastreamento em suas ramificações, para que você não precise especificar controles remotos e ramificações ao empurrar e puxar. Amatching
opção enviará todas as ramificações para as correspondentes correspondentes no controle remoto padrão (que é o primeiro que foi configurado, a menos que você tenha configurado seu repo de outra forma).Uma coisa que espero que outros achem útil no futuro é que eu estava executando o Git 1.8 no OS X Mountain Lion e nunca vi esse erro. Atualizar para o Mavericks é o que de repente fez aparecer (a execução
git --version
mostrará ogit version 1.8.3.4 (Apple Git-47)
que eu nunca tinha visto até a atualização para o sistema operacional.fonte
Se você receber uma mensagem do git reclamando sobre o valor
simple
na configuração, verifique seugit version
.Após a atualização
XCode
(emMac
execuçãoMountain Lion
), que também foi atualizadagit
de 1.7.4.4 para 1.8.3.4 , os shells iniciados antes da atualização ainda estavam executando o git 1.7.4.4 e reclamaram do valorsimple
de push.default na configuração global.A solução foi fechar as conchas executando a versão antiga
git
e usar a nova versão!fonte
git config --global push.default simple
Fiquei me perguntando por que estava recebendo essa grande mensagem de aviso no Ubuntu 16.04 (que vem com o Git 2.7.4), mas não no Arch Linux. O motivo é que o aviso foi removido no Git 2.8 (março de 2016):
Portanto, você não verá o aviso se tiver o Git 2.8 e posterior e não precisar definir, a
push.default
menos que queira alterar o'simple'
comportamento padrão .fonte