Issue
- Trường hợp không pull/ push code bằng Eclipse lên Github được và hiển thị lỗi như sau
- git-upload-pack not permitted on ‘…’
- Pull code
- Push code
- Nguyên nhân:
- Ngày 13/8/2021 – Github không chấp nhận mật khẩu tài khoản khi xác thực các hoạt động GIT – cần thêm Personal Access Token để thay thế
- Github disable giao thức HTTPS (Web Url) cho các remote repository – thay bằng SSH Url trên Eclipse (eGIT)
- Lưu ý: Chỉ bị trên Eclipse với Url là https – nếu sử dụng các tool/ IDE khác thì vẫn clone remote repo về được (Git Bash/ Source Tree/ Github Desktop/… )
Solution
- Generate “Personal access tokens” và add vào remote repo của Eclipse (Change credential của git account)
- Step 01 – Generate Access token trên Github
- 1 – Vào link – https://github.com/settings/tokens
- 2 – Click vào “Generate new token“
- Setting cho Token
- 1 – Đặt tên cho Token
- 2 – Thời gian hết hạn
- 3 – Click chọn vào duy nhất checkbox đầu tiên
- Không chọn các role khác
- Scroll chuột xuống dưới cùng và click vào “Generate token“
- Copy token được tạo ra (chuẩn bị cho step 02)
- Không chia sẻ access token ra ngoài – chỉ sử dụng private
- Step 02 – Add token vào Eclipse IDE
- Mở Git Perspective trên Eclipse
- Window > Perspective > Open Perspective > Other
- Mở Git Perspective trên Eclipse
- Chọn Git
- Change Config
- 1 – Chọn repository bất kì (sẽ update luôn cho tất cả các repo khác)
- 2 – Chọn “Remotes“
- 3 – Click chuột phải vào “origin“
- 4 – Chọn “Configure Push…“
- Update access token vào thay field Password
- 1 – Click “Change“
- 2 – Dán Access token đã copy ở step 01 vào field Password và click “Finish“
- Save lại
- Step 03 – Pull/ Push code lại
- Quay trở lại Java Perspective
- Pull/ Push code bình thường
- Note – Trường hợp clone 1 “repository mới“ về bằng Eclipse
- Add SSH key vào github account
- General > Network Connections > SSH2 > Key Management > Generate RSA Key
- Go to GitHub account > Account settings > SSH and GPG keys > Add the public key
- Add SSH key vào github account
- Thay đổi giao thức clone qua SSH
- Import trong Eclipse vs SSH
- Nếu sử dụng Eclipse để import vẫn ko được thì sử dụng Git Bash clone về và import vào Eclipse sau