Jeśli w systemie Windows i użytkownik Git for Windows i managerdo zarządzania poświadczeniami (inaczej Git-Credential-Manager-for-Windows Link ), problem polega na tym, że nie ma łatwego sposobu przełączania się między użytkownikami podczas wypychania do GitHub za httpspomocąOAuth tokenów.
Powodem jest to, że token jest przechowywany jako:
- Adres internetowy:
git:https://github.com
- Nazwa Użytkownika:
Personal Access Token
- Hasło:
OAuth_Token
Odmiany adresu URL w programie Internet Addressnie działają, na przykład:
git:https://username@github.com
git:https://github.com/username
- ...
Rozwiązanie: przestrzenie nazw . Można to znaleźć w szczegółach konfiguracji Git-Credential-Manager-for-Windows:
Cytując z tego:
przestrzeń nazw
Ustawia przestrzeń nazw dla przechowywanych poświadczeń.
Domyślnie GCM używa przestrzeni nazw „git” dla wszystkich przechowywanych danych logowania, ustawienie tej wartości konfiguracyjnej umożliwia kontrolowanie przestrzeni nazw używanej globalnie lub dla każdego hosta.
git config --global credential.namespace name
Teraz zapisz swoje poświadczenia w Menedżerze poświadczeń systemu Windows jako:
- Adres internetowy:
git.username:https://github.com
- Nazwa Użytkownika:
Personal Access Token
- Hasło:
OAuth_Token
Zauważ, że zmieniliśmy: git-> git.username(gdzie zmieniaszusername swoją rzeczywistą nazwę użytkownika lub ze względu na to, na cokolwiek chcesz jako unikalny identyfikator)
Teraz w repozytorium, w którym chcesz użyć określonego wpisu, wykonaj:
git config credential.namespace git.username
(Ponownie ... zastąp usernameżądaną wartością)
Twoja .git/configwola będzie teraz zawierać:
[credential]
namespace = git.username
Zrobione! Właściwe dane uwierzytelniające zostaną pobrane ze sklepu poświadczeń systemu Windows.
To oczywiście nie zmienia, który użytkownik / e-mail przesyła. W tym celu musisz skonfigurować zwykłe user.nameiuser.email
git config --global user.name her_username) przed pchaniem