Możliwe jest sklonowanie repozytorium git, podając nazwę użytkownika i hasło w poleceniu. Przykład:
git clone https://username:[email protected]/file.git
Czy podczas pushowania można również podać nazwę użytkownika i hasło? Na przykład uruchomienie git push origin --all
spowoduje wyświetlenie prośby o hasło. Chcę to w jednym poleceniu.
(Jestem świadomy możliwości konfigurowania kluczy i innych rozwiązań, ale chcę wiedzieć, czy jest sposób, aby nadal używać nazwy użytkownika i hasła za pomocą jednego polecenia). Uruchamiam Git Bash w systemie Windows 8.1.
git commit
?Odpowiedzi:
Tak, możesz to zrobić
git push https://username:[email protected]/file.git --all
w takim przypadku
https://username:[email protected]/file.git
wymień plikorigin
ingit push origin --all
Aby zobaczyć więcej opcji
git push
, spróbujgit help push
źródło
@
?' '
np .:git push 'https://username:[email protected]/file.git'
Użyłem poniższego formatu
git push https://username:[email protected]/file.git --all
a jeśli twoje hasło lub nazwa użytkownika zawiera @, zamień je na% 40
źródło
urlencode($password)
, zakoduje to nie tylko wszystkie znaki specjalne@
.Zgodnie z dokumentacją Gita , ostatnim argumentem
git push
polecenia może być repozytorium, do którego chcesz wypchnąć:Oraz
repository
parametr może być albo URL lub nazwa zdalnej.Możesz więc określić nazwę użytkownika i hasło w taki sam sposób, jak w przykładzie
clone
polecenia.źródło
Git nie przechowuje hasła, gdy używasz takich adresów URL. Zamiast tego będzie po prostu przechowywać nazwę użytkownika, więc następnym razem będzie musiał tylko poprosić o hasło. Jak wyjaśniono w instrukcji , do przechowywania hasła należy użyć zewnętrznego pomocnika poświadczeń . W przypadku systemu Windows można użyć magazynu danych logowania systemu Windows dla Git . Ten pomocnik jest również domyślnie dołączony do usługi GitHub dla systemu Windows .
Podczas korzystania z niej Twoje hasło zostanie automatycznie zapamiętane, więc wystarczy je wprowadzić tylko raz. Dlatego podczas klonowania zostaniesz poproszony o podanie hasła, a następnie każda dalsza komunikacja z pilotem nie będzie wymagać ponownego podania hasła. Zamiast tego pomocnik poświadczeń zapewni Git uwierzytelnianie.
To oczywiście działa tylko w przypadku uwierzytelniania przez https; dla ssh access (
[email protected]/repository.git
) używasz kluczy SSH i tych, które pamiętaszssh-agent
(lub programu konkursowego PuTTY, jeśli używasz plink).źródło
Jest to możliwe, ale przed Git 2.9.3 (sierpień 2016 r.) A
git push
wyświetlałby pełny adres URL używany podczas przesyłania z powrotem do sklonowanego repozytorium.Obejmuje to twoją nazwę użytkownika i hasło!
Ale nie więcej: zobacz commit 68f3c07 (20 lipca 2016) i commit 882d49c (14 lipca 2016) autorstwa Jeffa Kinga (
peff
) .(Scalone przez Junio C Hamano -
gitster
- w zatwierdzeniu 71076e1 , 08 sierpnia 2016)źródło
Dla każdego, kto ma problemy z hasłami ze specjalnymi znakami, po prostu pomiń hasło, a wyświetli się monit:
źródło
YOUR_GIT_USERNAME
na swoją nazwę użytkownika, a jeśli nie używasz github.com, czy zmieniłeś ją na coś innego? Czy zmieniłeś sięyourGitFileName.git
na coś innego?