Estou tentando me comprometer com um projeto em github.com do meu laptop de trabalho, que já está configurado para o servidor git da empresa. Existe uma maneira de confirmar especificando credenciais de autor diferentes, possível usando um arquivo de configuração diferente ou outras opções de linha de comando?
Eu tentei usar
--author="My Name <[email protected]>"
e recebi a mensagem:
Committer: unknown <[email protected]>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email [email protected]
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
mas ainda não atualizei meu nome de usuário para me comprometer com o projeto github.com. Posso tentar mais alguma coisa e isso é possível?
-c user.name=Me [email protected]
. Para usar uma configuração global personalizada, consulte esta questão ou use um alias de shell contendo-c
opções. Mas nenhum desses é provavelmente a coisa certa a fazer nesta situação - você quer uma configuração por repo.{author,committer}.{name,email}
. Veja minha resposta abaixoRespostas:
Primeiro, o autor não é necessariamente o mesmo que o cometedor. Git rastreia ambos.
Para definir qual nome usar apenas para este repositório, você pode fazer:
Observe a ausência da
--global
opção. Isso definirá a configuração apenas neste repositório.Como alternativa, você pode fazer isso para apenas um único comando, usando a
-c
opção:Mas acho melhor apenas usar as opções de configuração acima.
fonte
Tente acrescentar isso ao seu comando git:
Isso é bom para uma tentativa única, mas você pode preferir salvá-lo no arquivo .git / config do repositório local que você clonou do git. Isso pode ser feito executando
git config
(no --global ou --system para torná-lo "local para o repo") ou editando o.git/config
(é a mesma sintaxe que~/.gitconfig
fonte
.bash_aliases
, e / ou você também pode definir um gancho de pré-confirmação para rejeitar o envio quando o usuário não estiver definido.Você também pode definir variáveis de ambiente
GIT_COMMITTER_NAME
,GIT_COMMITTER_EMAIL
,GIT_AUTHOR_NAME
, eGIT_AUTHOR_EMAIL
em uma base per-shell ou mesmo per-comando.fonte
git commit --amend
. Apenas o commiter mudou.git commit --amend --author="$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
git commit --amend
design não altera o autor, como diz a página de manual. Solução:git commit --amend --reset-author
Eu acredito que você poderia correr:
para diferentes partes do git. Tente abrir a pasta onde o trabalho está sendo feito para o repo no servidor github.
Certifique-se de ver uma pasta .git nessa pasta de trabalho. Agora abra essa pasta no Terminal / Console / CommandPrompt e tente alterar o nome de usuário e o e-mail para essa pasta apenas executando os comandos que especifiquei acima.
Alterando isso, agora você pode acessar o servidor GitHub.
Dê uma olhada aqui: https://help.github.com/articles/setting-your-username-in-git
Além disso, acredito que haja uma maneira de enviar para um repo remoto usando seu nome de usuário e senha do github no próprio comando, mas não estou citando porque não funcionou para mim.
fonte
Seguindo a resposta de Jesse Glick aqui com uma implementação expandida porque a sugestão da IMO é a melhor maneira de fazer isso.
Adicione o seguinte ao seu .bash_profile. Ele irá solicitar um usuário ao executar pela primeira vez qualquer comando git no shell ativo. Ele então lembrará do usuário em todas as execuções subsequentes.
(obviamente, cruze a referência de um valor de entrada do usuário para nomes exatos e endereços de e-mail para os vários valores git auther / name no bloco de caso e atualize as atribuições conforme necessário)
fonte
Na verdade, desde Git 2.22 (Q2 2019), você tem uma nova opção: Quatro novas variáveis de configuração
{author,committer}.{name,email}
foram introduzidas para substituiruser.{name,email}
em casos mais específicos.Veja o commit 39ab4d0 (04 de fevereiro de 2019) de William Hubbs (``) .
(Incorporado por Junio C Hamano -
gitster
- no commit 4e021dc , 07 de março de 2019)fonte