É possível clonar um repositório git, especificando o nome de usuário e a senha no comando. Exemplo:
git clone https://username:[email protected]/file.git
É possível também especificar o nome de usuário e a senha ao enviar? Para que, por exemplo, a execução git push origin --all
em seguida saia pedindo uma senha. Eu quero isso em um comando.
(Estou ciente da capacidade de configurar chaves e outras soluções, mas quero saber se há uma maneira de continuar usando o nome de usuário e a senha com um comando.) Estou executando o Git Bash no Windows 8.1.
git commit
?Respostas:
Sim você pode fazer
git push https://username:[email protected]/file.git --all
neste caso,
https://username:[email protected]/file.git
substitua oorigin
emgit push origin --all
Para ver mais opções para
git push
, tentegit help push
fonte
@
?' '
, por exemplo:git push 'https://username:[email protected]/file.git'
Usei o formato abaixo
git push https://username:[email protected]/file.git --all
e se sua senha ou nome de usuário contiver @ substitua por% 40
fonte
urlencode($password)
para codificar todos os caracteres especiais, não só@
.De acordo com a documentação do Git , o último argumento do
git push
comando pode ser o repositório para o qual você deseja enviar:E o
repository
parâmetro pode ser um URL ou um nome remoto.Portanto, você pode especificar o nome de usuário e a senha da mesma forma que faz no seu exemplo de
clone
comando.fonte
O Git não armazenará a senha quando você usar URLs como esse. Em vez disso, ele apenas armazenará o nome de usuário, de modo que só precisará solicitar a senha da próxima vez. Conforme explicado no manual , para armazenar a senha, você deve usar um auxiliar de credencial externo . Para Windows, você pode usar o Windows Credential Store para Git . Esse auxiliar também está incluído por padrão no GitHub para Windows .
Ao usá-lo, sua senha será lembrada automaticamente, portanto, você só precisa digitá-la uma vez. Portanto, quando você clonar, sua senha será solicitada e, em seguida, todas as outras comunicações com o controle remoto não solicitarão sua senha novamente. Em vez disso, o auxiliar de credencial fornecerá a autenticação ao Git.
É claro que isso só funciona para autenticação via https; para acesso ssh (
[email protected]/repository.git
) você usa as chaves SSH e aquelas que você lembra de usarssh-agent
(ou o concurso do PuTTY, se estiver usando o plink).fonte
É possível, mas, antes do git 2.9.3 (agosto de 2016), a
git push
imprimiria a url completa usada ao enviar de volta para o repositório clonado.Isso incluiria seu nome de usuário e senha!
Mas não mais: consulte commit 68f3c07 (20 de julho de 2016) e commit 882d49c (14 de julho de 2016) de Jeff King (
peff
) .(Incorporado por Junio C Hamano -
gitster
- no commit 71076e1 , 08 de agosto de 2016)fonte
Para qualquer pessoa que tenha problemas com senhas com caracteres especiais, basta omitir a senha e será solicitada:
fonte