Làm thế nào để chuyển đổi người dùng git tại thiết bị đầu cuối?


46

Tôi đang cố gắng đẩy một dự án đến một kho lưu trữ từ xa từ dòng lệnh.

Từ trong thư mục địa phương của tôi, tôi nhấn:

$ git push

và nhận được các lỗi sau:

từ xa: Quyền đối với tên người dùng1 / repo.git bị từ chối đối với tên người dùng2.
gây tử vong: không thể truy cập ' https://github.com/username1/repo.git/ ':
URL được yêu cầu trả về lỗi: 403

Trong trường hợp username1là tên người dùng tài khoản github của tôi lưu trữ kho Tôi muốn đẩy tới và username2là một tài khoản cũ tôi đã sử dụng để sử dụng trên máy tính này.

Tôi đang sử dụng OS X Yosemite (v10.10.5) trên Macbook Air. Và tôi thích sử dụng https thay vì ssh .

Làm cách nào để cập nhật để username1tôi có thể đẩy thành công từ xa?

Chỉnh sửa: Để rõ ràng, tôi không nói về việc đơn giản là chỉnh sửa config userđối tượng, ví dụ:

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

Họ không có gì để làm với xác thực. Câu hỏi của tôi liên quan đến xác thực người dùng cần thiết để ghi vào kho lưu trữ từ xa của tôi.



Cảm ơn. Nhưng điều đó chỉ liên quan đến việc thiết lập tên người dùng. Không xác thực. Nói cách khác, tài liệu đó cho chúng ta thấy làm thế nào để liên kết tên của người được tín dụng cho các cam kết. Nhưng nó không thực sự cho phép người dùng thực hiện các cam kết.
Mowzer

1
Bạn có thể thay đổi người dùng bằng lệnh được ghi lại tại git-scm.com/docs/gitcredentials . Ngoài ra, nếu bạn muốn xóa thông tin đăng nhập, bạn có thể xem câu hỏi này stackoverflow.com/questions/15381198/ .
Giăng

Điều này không giải quyết vấn đề!
Mihail Salari

Nếu tôi không muốn thay đổi cài đặt git cục bộ thì sao?
Arkady

Câu trả lời:


42

Ngoài việc thay đổi tên người dùng và email từ thiết bị đầu cuối bằng cách sử dụng git config:

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

bạn sẽ cần xóa thông tin ủy quyền khỏi Keychain. Đây là điều mà tôi cũng đã đấu tranh cho đến khi tôi thấy rằng tôi cũng có chứng chỉ trong Keychain của mình.

Mở truy cập Keychain, nhấp vào Tất cả các mục và tìm kiếm git. Bạn sẽ nhận được một số mặt hàng như thế này:

Ảnh chụp màn hình

Xóa chúng. Bây giờ hãy thử đẩy repo và git sẽ yêu cầu bạn viết mật khẩu cho người dùng và bạn sẽ ổn.


1
Còn người dùng Windows thì sao?
Aks ..

2
tôi có nhiều tài khoản tôi nên làm gì
Amerrnath

Tôi có cùng một vấn đề với win7. Tôi không chắc giải pháp là gì :(
Fiddle Freak

22

Đối với người dùng cli, chỉ cần sử dụng điều này: git config credential.username 'Billy Everytee'


Bạn cần tạm thời vô hiệu hóa 2FA.
bbaassssiiee

10

Đối với người dùng Windows:
Làm theo Hướng dẫn:
Bảng điều khiển >> Tài khoản người dùng >> Trình quản lý thông tin >> Thông tin xác thực Windows >> Thông tin chung

xóa thông tin git.
lần tới khi bạn đẩy repo, nó sẽ hỏi bạn về thông tin xác thực.
Trả lời tài liệu tham khảo để giải thích chi tiết


Cảm ơn bạn! Đó là những gì tôi đang tìm kiếm trên Windows.
JCF

@JCF Chào mừng bạn! Tôi vui vì nó đã giúp!
Shubham Chadokar

6

Liệt kê cấu hình git của bạn.

git config --list

Thay đổi tên người dùng và email toàn cầu

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

Thay đổi tên người dùng và email cho repo hiện tại

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

Thay đổi url repo của bạn nếu bạn đang sử dụng xô bit.

nano .git/config

Tập tin này sẽ là một cái gì đó như thế này. [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

Đây là câu trả lời kỹ lưỡng nhất xem xét phạm vi repo toàn cầu và địa phương.
Jordan Stefanelli
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.