Vấn đề
Khi pull code mới từ github về thì gặp lỗi như sau :
Nguyên nhân và khắc phục
Do github đã thay đổi cách xác thực và đã được thông báo trước đó. Bạn có thể xem thêm ở đây: https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
Bạn cần truy cập vào github để cấp quyền lại cho repos được có quyền pull code mới về.
Cách thực hiện
truy cập thẳng vào ổ chứa Token của thằng github của chính mình, chọn Generate Token
Nhớ login github trước rồi truy cập vào đường link này : https://github.com/settings/tokens
Giao diện kiểu kiểu thế này :
Bạn bấm vô cái nút : Generate New Token
Ra được bảng điều khiển form nhập liệu thế này :
ở đây bạn điền những thứ bạn cần, cả quyền truy cập các thứ nữa. ví dụ chỗ :
Note là để note lại cái tên cho gợi nhớ cho dễ. Expiration là thời gian sống của token. Rồi chọn role thì bạn click repos nếu muốn thao tác với repos. CHọn cái gì thì xài cái đó. Quất hết luôn thì hơi nguy hiểm nếu bị lộ token nha.
Cuối cùng bấm nút tạo token : Generate new Token
Bạn được cái token kiểu kiểu thế này: ghp_0G7G61RyutSFHhTzMDreGRLjmks4Tga0LrHIs
Bây giừo cần update token vào từng kiểu thiết bị khác nhau nè:
Update token vào thiết bị
Windows OS
Đi đến Credential Manager từ Control Panel => Windows Credentials => find git:https://github.com
=> Edit => Thay Password bằng Github Personal Access Token của bạn => Vậy là hoàn tất.
MAC OS
sử dụng Spotlight để tìm ứng dụng : Keychain access ( tiếng việt là : Truy cập chuỗi khoá ). tìm kiếm github.com
=> Tìm mục nhập internet password cho github.com
=> Chỉnh sửa hoặc xóa mục cho phù hợp => Vậy là hoàn tất.
Linux OS
Cập nhật mới thông tin của biến global trong máy của bạn bằng cách dùng:
$ git config --global user.name "your_github_username"
$ git config --global user.email "your_github_email"
$ git config -l
Thao tác tiếp theo là bạn tương tác với server. Nếu bạn tương tác với lệnh pull thì cứ pull thôi, hoặc ngoài ra có thể clone, push, hoặc bất kể 1 điều gì đó mà github muốn bạn xác thực.
ví dụ cụ thể mình có thể dùng clone như sau:
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
> Cloning into `Spoon-Knife`...
$ Username for 'https://github.com' : username
$ Password for 'https://github.com' : give your personal access token here
Xong rồi thì nhớ lưu cache hệ thống khỏi lần sau pull hay push cứ phải xác thực mệt lắm.
git config --global credential.helper cache
///
* Lưu ý sau này: Nếu sau này bạn muốn xoá cache này đi thì bạn có cú pháp lệnh như sau :
$ git config --global --unset credential.helper
$ git config --system --unset credential.helper
Xong ! Chúc các bạn thành công!