Jak zmienić użytkownika git na terminalu?


46

Próbuję wypchnąć projekt do zdalnego repozytorium z wiersza polecenia.

Wewnątrz mojego lokalnego katalogu uderzyłem:

$ git push

i uzyskaj następujący błąd:

zdalne: Odmowa dostępu do nazwy użytkownika 1 / repo.git dla nazwy użytkownika 2.
krytyczny: nie można uzyskać dostępu do „ https://github.com/username1/repo.git/ ”:
Żądany adres URL zwrócił błąd: 403

Gdzie username1jest moja nazwa użytkownika konta github, na którym znajduje się repozytorium, na które chcę wysłać i username2jest to stare konto, którego używałem na tym komputerze.

Używam OS X Yosemite (10.10.5) na Macbooku Air. I wolałbym używać https zamiast ssh .

Jak zaktualizować, aby username1móc z powodzeniem przesyłać do mojego pilota?

Edycja: Dla jasności nie mówię o zwykłej edycji config userobiektu, np.

$ git config --global user.name "Billy Everyteen"
$ git config --global user.email "billyeveryteen@example.com"

Nie mają one nic wspólnego z uwierzytelnianiem. Moje pytanie dotyczy uwierzytelnienia użytkownika niezbędnego do napisania w moim zdalnym repozytorium.



Dzięki. Ale to dotyczy tylko ustawienia nazwy użytkownika. Brak uwierzytelnienia. Innymi słowy, ta dokumentacja pokazuje nam, jak powiązać nazwisko tego, kto otrzymuje kredyt za zatwierdzenia. Ale tak naprawdę nie upoważnia użytkownika do wypychania zatwierdzeń.
Mowzer

1
Możesz być w stanie go zmienić za pomocą polecenia udokumentowanego na git-scm.com/docs/gitcredentials . Ewentualnie, jeśli chcesz wyczyścić poświadczeń, można spojrzeć na to pytanie stackoverflow.com/questions/15381198/... .
Jan

To nie rozwiązuje problemu!
Mihail Salari,

co jeśli nie chcę zmieniać lokalnych ustawień git?
Arkady

Odpowiedzi:


42

Oprócz zmiany nazwy użytkownika i adresu e-mail z terminala za pomocą git config:

$ git config --global user.name "Bob"
$ git config --global user.email "bob@example.com"

musisz usunąć informacje o autoryzacji z pęku kluczy. Z tym też zmagałem się, dopóki nie dowiedziałem się, że mam również certyfikat w pęku kluczy.

Otwórz dostęp do pęku kluczy, kliknij Wszystkie elementy i wyszukaj git. Otrzymasz kilka takich przedmiotów:

Zrzut ekranu

Usuń ich. Teraz spróbuj wypchnąć repozytorium, a git poprosi cię o wpisanie hasła dla użytkownika, a będziesz gotowy.


1
Co z użytkownikami systemu Windows?
Aks ..

2
Mam wiele kont, co powinienem zrobić
Amerrnath,

Mam ten sam problem z Win7. Nie jestem pewien, jakie jest rozwiązanie :(
Fiddle Freak

22

Dla użytkowników cli, po prostu użyj tego: git config credential.username 'Billy Everytee'


Musisz tymczasowo wyłączyć 2FA.
bbaassssiiee

10

Dla użytkownika systemu Windows:
Postępuj zgodnie z instrukcjami:
Panel sterowania >> Konto użytkownika >> Menedżer poświadczeń >> Poświadczenie systemu Windows >> Poświadczenie ogólne

usuń dane uwierzytelniające git.
następnym razem, gdy będziesz wypychać repozytorium, poprosi Cię o poświadczenie.
Odwołaj się do odniesienia, aby uzyskać szczegółowe wyjaśnienie


Dziękuję Ci! Właśnie tego szukałem w systemie Windows.
JCF

@JCF Witamy! Cieszę się, że to pomogło!
Shubham Chadokar

6

Podaj swoją konfigurację git.

git config --list

Zmień nazwę użytkownika i adres e-mail na całym świecie

git config --global user.name "Nanhe Kumar"
git config --global user.email "info@nanhekumar.com"

Zmień nazwę użytkownika i adres e-mail dla bieżącego repo

git config  user.name "Nanhe Kumar"
git config  user.email "info@nanhekumar.com"

Zmień adres URL repozytorium, jeśli korzystasz z bitu wiadra.

nano .git/config

Ten plik będzie mniej więcej taki. [core] repositoryformatversion = 0 fileMode = false bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = https://nanhe@bitbucket.org/nanhekumar/myproject.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master

[user]
        name = Nanhe Kumar
        email = info@nanhekumar.com

To najdokładniejsza odpowiedź, biorąc pod uwagę globalny i lokalny zakres repo.
Jordan Stefanelli
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.