Eu tenho servidores de aplicativos que inicializo juntos usando o Chef + alguns scripts ad-hoc bash. O problema é que, quando quero executar uma atualização em um desses servidores de aplicativos, recebo:
19:00:28: *** Please tell me who you are.
Run
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
Eu realmente preciso definir isso para que seja simples git pull origin master
sempre que atualizar um servidor de aplicativos? Existe alguma maneira de substituir esse comportamento para que não ocorra um erro quando o nome e o email não estiverem definidos?
git pull
criar um commit, porque ele fez uma mesclagem, por exemplo.Respostas:
Eu gasto muitas horas quando eu chamo o script php para iniciar e confirmar o git. E eu achei o fluxo de trabalho deve ser:
Se você trocar [23] e 1, a configuração não funcionará.
Gostaria que isso ajudasse.
fonte
--global
opção aosgit config
comandos e fazê-lo uma vez na sua conta do SO. Depois disso, as etapas 2-3 não são necessárias.Em vez de fazer a
git pull
, você pode:Nenhum deles exige que você configure seu nome de usuário / email do git.
Isso destruirá quaisquer alterações / confirmações locais não confirmadas e deixará seu HEAD apontando para uma confirmação (não uma ramificação). Mas nenhum desses deve ser um problema para um servidor de aplicativos, pois você não deve fazer alterações locais ou se comprometer com esse repositório.
fonte
git fetch && git reset --hard HEAD
?git reset --hard HEAD
simplesmente joga fora as alterações uncomitted, isso não muda o que comprometer o seu espaço de trabalho baseia-se (desde, por definição, você já está no HEAD)Se você estiver usando o sourcetree: Repositório -> Configurações do Repositório -> Avançado -> desmarque a caixa "Usar configurações globais do usuário"
funcionou muito bem para mim.
fonte
funciona para mim, tente isto .. você precisa configurar seu terminal com acesso remoto.
fonte
Atualize seu processo de inicialização para criar um
${HOME}/.gitconfig
com o conteúdo adequado ou copiar um existente de algum lugar.fonte
Isso funcionou muito bem para mim.
fonte
O mesmo problema ocorreu comigo e o resolvi adicionando o nome padrão e as configurações de repositório de email.
Como Doron sugeriu -
Se você estiver usando o sourcetree: Repositório -> Configurações do Repositório -> Avançado -> desmarque a caixa "Usar configurações globais do usuário".
Adicione o nome e endereço de email padrão.
fonte
No meu caso, estava faltando "e" na palavra "email", como Chad afirmou acima, mas não vejo o seu caso. Por favor, pressione o seguinte comando para ver se tudo está funcionando conforme o esperado.
fonte
Você deve escrever seu email assim
Então: Escreva o nome de usuário
A janela After That Poupup aparecerá.
Escreva USERNAME & EMAIL para a conta que você deseja contribuir
fonte
Para mim, o problema era a conexão de rede. Uma vez reconectado ao meu wifi, ele poderia buscar os detalhes e confirmar sem problemas.
fonte
Ele solicitará apenas uma vez e certifique-se de que a chave pública rsa para esta máquina seja adicionada à sua conta do github na qual você está tentando confirmar ou passar uma solicitação pull.
Mais informações sobre isso podem ser encontradas: Aqui
fonte
Eu tive isso como uma mensagem de erro com defeito:
git pull
funcionou bem na linha cmdgit pull
falhou em um processo Perl CGI (um webhook para implantar automaticamente no github) com o erro acima.Fazendo um
git status
arquivo em conflito identificado. A classificação corrigiu o problema.Problema ocorreu mais tarde, quando alterei algumas configurações.
Dessa vez, a configuração dos envios $ HOME e $ USER corrigiu (são desabilitados por padrão em um processo CGI)
fonte
Dê uma olhada no arquivo de configuração.
Repositório> Configurações do Repositório> Editar arquivo de configuração.
Verifique se a
[user]
seção existe. Se a seção do usuário estiver ausente, adicione-a.Exemplo:
fonte
eu uso o heroku cli 1. deve usar todo o nome de usuário e email de usuário
$ git config --global user.email .login email.
$ git config --global user.name .heroku name.
git add *
5 git commit -m "após a configuração user.name, email do usuário"
git push heroku master
fonte
Eu uso o Jenkins e tive esse problema ao tentar executar uma liberação (que requer uma confirmação do git). Para corrigir os problemas, eu precisava adicionar um nome de usuário / endereço de email personalizado (veja a figura). Isso garantiu que, quando o código fosse retirado, ele usasse o nome / endereço de email do usuário de compilação ao executar a liberação. Observe que essa configuração está disponível na configuração do projeto Jenkins Multibranch Pipeline.
fonte
git pull
não deve exigir isso. No entanto, se a atração causar um conflito de mesclagem, isso parecerá necessário.fonte
IMHO, a maneira correta de resolver esse erro é configurar seu arquivo de configuração global do git.
Para fazer isso, execute o seguinte comando:
git config --global -e
Um editor aparecerá onde você poderá inserir suas configurações padrão do git.
Aqui estão alguns:
Para obter mais detalhes, consulte Personalizando o Git - Configuração do Git
Quando você vê um comando como
git config
...... você pode colocar isso no seu arquivo de configuração global do git como:
Para configurações únicas, você pode usar algo como
git config --global user.name 'your_username'
Se você não definir suas configurações globalmente, precisará fazê-lo para cada repositório Git com o qual você trabalha localmente.
As configurações user.name e user.email informam ao git quem você é; portanto, os
git commit
comandos subsequentes não reclamam,*** Please tell me who you are.
Muitas vezes, os comandos que o git sugere que você execute não são o que você deve executar. Desta vez, os comandos sugeridos não são ruins:
Dica: Até eu me familiarizar com o git, fazer um backup do meu arquivo de projeto - antes de executar os comandos sugeridos do git e explorar as coisas que eu pensava que funcionaria - salvou meu bacon em mais de algumas ocasiões.
fonte
Não é possível detectar automaticamente o endereço de email.
Por padrão, leva o nome de usuário do seu sistema
[email protected]
.Então, você precisa definir seu e-mail como abaixo:
Após definir o email, você pode executar os comandos git e confirmar suas alterações.
fonte
Eu encontrei essa mensagem de erro enquanto tentava confirmar alguns arquivos.
Simplesmente executando
git fetch
e tentando meu commit novamente funcionou para mim.fonte
Para corrigir, eu uso: git config --global user.email "[email protected]" e funciona.
user.mail não funciona, precisa colocar um E. Typo talvez?
fonte
Isso é um erro de digitação. Você definiu acidentalmente "user.mail" sem " e ". Corrija-o definindo "user. E- mail" na configuração global com
git config --global user.email "[email protected]"
Solução encontrada aqui
https://stackoverflow.com/a/14662703
fonte