Hướng Dẫn Chi Tiết Về Fork và Đồng Bộ Repositories Trên GitHub 📝
Hướng dẫn này sẽ giúp bạn hiểu cách fork một repository, thiết lập upstream, lấy thay đổi, rebase cập nhật và đẩy thay đổi lên fork cá nhân của bạn bằng GitHub và terminal của Visual Studio Code.
Lưu ý: Những hướng dẫn này giả định rằng bạn là người duy nhất làm việc trên fork. Các bước có thể khác nếu repository được chia sẻ với các cộng tác viên.
Nội dung
- Yêu Cầu Cần Có
- Thuật Ngữ Cơ Bản
- Bước 1: Fork Repository
- Bước 2: Clone Fork Về Máy Tính
- Bước 3: Tạo Nhánh Mới
- Bước 4: Kiểm Tra và Thêm Upstream Remote
- Bước 5: Làm Việc Trên Nhánh Mới
- Bước 6: Lấy Cập Nhật Từ Upstream
- Bước 7: Đồng Bộ Thay Đổi Từ Upstream Về Nhánh Local
- Bước 8: Đưa Thay Đổi Từ Nhánh Main Về Nhánh Của Bạn
- Bước 9: Đẩy Cập Nhật Từ Nhánh Local Lên Fork Trên GitHub
- Bước 10: Cập Nhật Nhánh Main Của Fork Trên GitHub
- Thực Hành Tốt Nhất
- Lỗi Thường Gặp
- Mẹo Hiệu Suất
- Câu Hỏi Thường Gặp
Yêu Cầu Cần Có
- Git đã được cài đặt trên máy tính của bạn.
- Tài khoản GitHub.
- Visual Studio Code.
Thuật Ngữ Cơ Bản
- Local: Bản sao của repository trên máy tính của bạn.
- Remote: Phiên bản của repository được lưu trữ trực tuyến (ví dụ: GitHub).
- Origin: Tên mặc định cho remote của fork của bạn trên GitHub.
- Upstream: Repository gốc mà bạn đã fork.
⭐ Bước 1: Fork Repository
- Truy cập repository gốc trên GitHub.
- Nhấn Fork (ở góc trên bên phải) và chọn tài khoản của bạn.
Bỏ chọn tùy chọn sao chép chỉ nhánh main nếu bạn muốn sao chép tất cả các nhánh có sẵn.
Bạn sẽ được chuyển đến trang fork mới được tạo của bạn.
⭐ Bước 2: Clone Fork Về Máy Tính
- Trên trang fork mới tạo, điều hướng đến <> Code và sao chép URL web.
- Trong terminal của VSCode, di chuyển vào thư mục mà bạn muốn repository được lưu.
- Nhấp vào File -> Open Folder -> Chọn thư mục.
- Sử dụng lệnh
cdđể điều hướng đến thư mục đã mở. Tìm hiểu thêm vềcdtại đây.
- Khi đã ở trong thư mục đúng, sử dụng lệnh
git clonevà dán URL đã sao chép. cdvào thư mục repo vừa tạo.
⭐ Bước 3: Tạo Nhánh Mới
⚠️ Trước khi tạo nhánh mới, hãy chắc chắn rằng bạn đang ở main. Luôn thực hiện công việc của bạn trong một nhánh khác ngoài main (dù là cho tính năng, thử nghiệm hay thực hành) để giữ cho main sạch và không có xung đột.
- Sử dụng lệnh
git branchđể kiểm tra nhánh hiện tại.- Nó sẽ liệt kê tất cả các nhánh địa phương của bạn, và nhánh bạn đang ở sẽ được đánh dấu bằng dấu hoa thị *.
- Sử dụng lệnh
git checkout -b ten-nhanh-mớiđể tạo và chuyển đến nhánh mới.
⭐ Bước 4: Kiểm Tra và Thêm Upstream Remote
- Sử dụng lệnh
git remote -vđể liệt kê các remote hiện tại liên kết với repository local. (Trên một fork mới, bạn chỉ thấy origin). - Sử dụng lệnh
git remote add upstream https://github.com/CHỦ-SỞ-HỮU-GỐC/TÊN-REPO.gitđể thêm upstream. - Xác minh bằng lệnh
git remote -v.
Nhớ: Upstream là repository gốc mà bạn đã fork. Thêm upstream cho phép bạn kéo về các cập nhật từ dự án nguồn để giữ bản sao của bạn luôn được cập nhật.
⭐ Bước 5: Làm Việc Trên Nhánh Mới
⚠️ Đảm bảo bạn chuyển sang nhánh mới để các thay đổi của bạn không ảnh hưởng đến main.
Bây giờ bạn có thể chỉnh sửa các tệp, sử dụng các lệnh sau:
- Kiểm tra các tệp đã thay đổi:
git status - Stage các tệp
- Stage một tệp:
git add tên-tệp - Stage tất cả các tệp đã thay đổi:
git add .
- Stage một tệp:
- Commit các thay đổi đã được stage:
git commit -m "Thông điệp commit của bạn"
⭐ Bước 6: Lấy Cập Nhật Từ Upstream
- Nếu bạn có bất kỳ thay đổi nào chưa được commit, stage và commit chúng.
- Chuyển sang nhánh main.
- Sử dụng lệnh
git fetch upstreamđể lấy các thay đổi mới nhất từ repository gốc.
LƯU Ý: Lệnh này lấy các thay đổi cho tất cả các nhánh, không chỉ riêng nhánh main.
⭐ Bước 7: Đồng Bộ Thay Đổi Từ Upstream Về Nhánh Local
- Sử dụng lệnh
git merge upstream/main.
Điều này cập nhật nhánh main của bạn với các thay đổi mới nhất từ repository gốc (upstream). (Nếu bạn muốn đồng bộ hóa các nhánh khác, bạn cần kiểm tra từng nhánh trước và thực hiện gộp theo các bước tương tự.)
⭐ Bước 8: Đưa Thay Đổi Từ Nhánh Main Về Nhánh Của Bạn
Điều này đảm bảo rằng nhánh của bạn có các thay đổi mới nhất mà bạn đã đồng bộ với main ở Bước 7.
- Sử dụng lệnh
git checkout ten-nhanh. - Sử dụng lệnh
git merge main. - Một tệp sẽ mở ra nơi bạn có thể chỉnh sửa thông điệp commit gộp.
- Đóng tệp sẽ xác nhận việc gộp.
Nếu có xung đột, có một số tùy chọn mà bạn có thể đọc tại đây -> Cách Giải Quyết Xung Đột Gộp Trong Git.
⭐ Bước 9: Đẩy Cập Nhật Từ Nhánh Local Lên Fork Trên GitHub
⚠️ Đảm bảo rằng tất cả các thay đổi của bạn đã được stage và commit trước khi đẩy.
- Sử dụng lệnh
git checkout ten-nhanh. - Sử dụng lệnh
git push origin ten-nhanh-mớiđể đẩy nhánh local của bạn lên fork trên GitHub (origin).
⭐ Bước 10: Cập Nhật Nhánh Main Của Fork Trên GitHub
- Sử dụng lệnh
git checkout main. - Sử dụng lệnh
git push origin main.
Điều này sẽ đẩy nhánh main local của bạn lên nhánh main của fork trên GitHub.
🎉 Fork của bạn đã được cập nhật và sẵn sàng cho việc phát triển! Hãy nhớ thường xuyên lấy và gộp từ upstream để công việc của bạn luôn đồng bộ với repository gốc.
Thực Hành Tốt Nhất
- Luôn tạo nhánh mới cho mỗi tính năng hoặc sửa lỗi để giữ cho main sạch.
- Thường xuyên đồng bộ hóa với upstream để tránh xung đột.
Lỗi Thường Gặp
- Xung đột gộp: Xảy ra khi có thay đổi tương tự giữa các nhánh. Cần phải giải quyết thủ công.
- Không thể đẩy lên GitHub: Kiểm tra quyền truy cập và đảm bảo bạn đang đẩy lên nhánh đúng.
Mẹo Hiệu Suất
- Sử dụng
git fetchthay vìgit pullđể kiểm soát tốt hơn các thay đổi nhận được. - Thực hiện các commit nhỏ và thường xuyên để dễ dàng theo dõi lịch sử thay đổi.
Câu Hỏi Thường Gặp
- Làm thế nào để xóa một nhánh đã được hoàn thành?
Sử dụng lệnhgit branch -d ten-nhanhđể xóa nhánh. - Tôi có thể làm gì nếu tôi gặp xung đột?
Tham khảo hướng dẫn giải quyết xung đột và thực hiện các thay đổi cần thiết trước khi commit.