Hướng dẫn chấp nhận một Pull Request (PR) từ Repository gốc về Repository Fork của bạn
Mình là người mới sử dụng Github, thấy có mấy Repository hay, đồng thời cũng có một số Pull Request (PR) fix lỗi mình cần nhưng Repository gốc chưa chấp nhận PR nên khi fork về không có mấy cái PR đó để mình chấp nhận. Thế là cũng tìm hiểu và biết được đôi chút cho nên vừa viết hướng dẫn và cũng để lưu trữ lại sau này có khi lại cần.
Bài viết này sẽ hướng dẫn các bạn cách chấp nhận một Pull Request (PR) từ Repository gốc về Repository Fork của bạn (nếu có sai hoặc thiếu nhờ các bạn bổ sung thêm).
1. Fork Repository gốc về tài khoản của bạn
1. Truy cập vào trang repository gốc trên GitHub.
2. Nhấn nút Fork ở góc trên bên phải.
3. Một bản sao của repository gốc sẽ được tạo trong tài khoản GitHub của bạn.
2. Clone Repository Fork về máy tính
1. Mở repository fork trên tài khoản GitHub của bạn.
2. Sao chép URL của repository fork (HTTPS hoặc SSH).
3. Chạy lệnh sau trong terminal để clone repository về máy:
git clone <URL-repository-fork>
4. Di chuyển vào thư mục chứa repository:
cd <repository-name>
3. Thêm Repository gốc làm remote
Để đồng bộ với repository gốc, bạn cần thêm nó làm một remote:
git remote add upstream <URL-repository-gốc>
Kiểm tra xem remote đã được thiết lập thành công chưa:
git remote -v
Bạn sẽ thấy hai remote:
- origin: URL của repository fork (trong tài khoản của bạn).
- upstream: URL của repository gốc.
4. Lấy Pull Request từ Repository gốc
1. Truy cập tab Pull Requests trên repository gốc (trên GitHub).
2. Tìm pull request mà bạn muốn hợp nhất (dựa trên số ID hoặc nhánh của pull request).
3. Chạy lệnh để tải pull request về:
git fetch upstream pull/<pull-request-ID>/head:<tên-nhánh-PR>
Ví dụ: nếu ID của pull request là 42, lệnh sẽ là:
git fetch upstream pull/42/head:pr-42
5. Kiểm tra và hợp nhất Pull Request
Chuyển sang nhánh pull request:
git checkout pr-42
Kiểm tra nội dung pull request:
git log git diff
Nếu đồng ý, hợp nhất pull request vào nhánh chính (thường là main hoặc master):
git checkout main # hoặc `master` git merge pr-42
6. Đẩy thay đổi lên Repository Fork
Sau khi hợp nhất pull request, đẩy thay đổi lên repository fork:
git push origin main # hoặc `master`
7. Xử lý lỗi xác thực khi Push
GitHub không còn hỗ trợ xác thực bằng mật khẩu. Bạn có thể sử dụng Personal Access Token (PAT) để thay thế.
Truy cập Personal Access Tokens.
Nhấn Generate new token (classic), chọn phạm vi cần thiết (ví dụ: repo để quản lý repository).
Sao chép token vừa tạo và sử dụng nó thay cho mật khẩu khi push:
Username for 'https://github.com': <tên tài khoản> Password for 'https://<tên tài khoản>@github.com':
Với hướng dẫn trên, bạn có thể dễ dàng quản lý các pull request từ repository gốc trong repository fork của mình. Nếu gặp bất kỳ vấn đề nào, hãy đặt câu hỏi để được hỗ trợ!