Nếu dưới Windows và người dùng Git cho Windows và manager
để quản lý thông tin đăng nhập (còn gọi là Git-Credential-Manager-for-Windows
Liên kết ) thì vấn đề là không có cách nào dễ dàng để chuyển đổi giữa những người dùng khi đẩy sang GitHub https
bằng cách sử dụngOAuth
mã thông báo.
Lý do là mã thông báo được lưu trữ dưới dạng:
- Địa chỉ Internet:
git:https://github.com
- Tên tài khoản:
Personal Access Token
- Mật khẩu:
OAuth_Token
Các biến thể của URL Internet Address
không hoạt động, ví dụ:
git:https://username@github.com
git:https://github.com/username
- ...
Giải pháp: không gian tên . Điều này được tìm thấy trong các chi tiết cho cấu hình của Git-Credential-Manager-for-Windows
:
Trích dẫn từ nó:
không gian tên
Đặt không gian tên cho thông tin lưu trữ.
Theo mặc định, GCM sử dụng không gian tên 'git' cho tất cả các thông tin được lưu trữ, việc đặt giá trị cấu hình này cho phép kiểm soát không gian tên được sử dụng trên toàn cầu hoặc trên mỗi máy chủ.
git config --global credential.namespace name
Bây giờ, lưu trữ thông tin đăng nhập của bạn trong Trình quản lý thông tin Windows dưới dạng:
- Địa chỉ Internet:
git.username:https://github.com
- Tên tài khoản:
Personal Access Token
- Mật khẩu:
OAuth_Token
Lưu ý rằng chúng tôi đã thay đổi: git
-> git.username
(nơi bạn thay đổi username
tên người dùng thực tế hoặc vì lợi ích của nó, thành bất cứ điều gì bạn có thể muốn làm định danh duy nhất)
Bây giờ, bên trong kho lưu trữ mà bạn muốn sử dụng mục cụ thể, hãy thực hiện:
git config credential.namespace git.username
(Một lần nữa ... thay thế username
bằng giá trị mong muốn của bạn)
Di .git/config
chúc của bạn bây giờ có chứa:
[credential]
namespace = git.username
Et voilá! Thông tin xác thực sẽ được lấy từ Cửa hàng Thông tin Windows.
Điều này, tất nhiên, không thay đổi người dùng / e-mail nào đang đẩy. Cho rằng bạn phải cấu hình thông thường user.name
vàuser.email
git config --global user.name her_username
) trước khi đẩy