Làm việc nhóm với Git & GitHub
1. Các khái niệm cần biết
Khái niệm | Giải thích ngắn gọn |
---|---|
Clone | Tải repo từ GitHub về máy |
Branch | Tạo nhánh riêng để phát triển song song |
Pull Request (PR) | Đề xuất hợp nhất thay đổi từ nhánh phụ vào nhánh chính |
Fork | Sao chép repo người khác về tài khoản của bạn (dự án mã nguồn mở) |
Merge | Hợp nhất thay đổi từ 1 nhánh vào nhánh khác |
Conflict | Mâu thuẫn khi 2 người sửa cùng 1 chỗ trong file |
2. Clone một repo từ GitHub
git clone https://github.com/username/repo-name.git
Hoặc dùng SSH:
git clone [email protected]:username/repo-name.git
3. Tạo và làm việc trên nhánh (branch)
git checkout -b ten-nhanh
Ví dụ:
git checkout -b login-feature
Làm việc, chỉnh sửa, commit như bình thường trên nhánh này.
4. Đẩy nhánh lên GitHub
git push -u origin ten-nhanh
5. Tạo Pull Request (PR)
- Vào repo trên GitHub
- Sẽ thấy gợi ý "Compare & Pull Request" → nhấn vào
- Điền tiêu đề và mô tả
- Nhấn Create pull request
Khi nào cần PR?
- Khi bạn muốn hợp nhất code mình viết vào nhánh chính (
main
hoặcdevelop
) - Được review trước khi merge (code review)
6. Hợp nhất Pull Request
Ai có quyền (hoặc chính bạn) có thể:
- Review code
- Nhấn Merge pull request
- Xoá nhánh nếu không cần nữa
7. Kéo code mới nhất từ nhóm về
git pull origin main
Hoặc nếu bạn đang ở nhánh khác:
git checkout main
git pull origin main
8. Xử lý xung đột (conflict)
Khi hai người sửa cùng một dòng, Git không biết chọn cái nào → conflict.
Ví dụ:
<<<<<<< HEAD
console.log("A sửa");
=======
console.log("B sửa");
>>>>>>> ten-nhanh
Bạn cần sửa lại thành phiên bản đúng nhất, rồi:
git add <file>
git commit
9. Quy trình nhóm chuẩn (Git Flow cơ bản)
1. git checkout main
2. git pull origin main
3. git checkout -b feature-x
4. code + commit
5. git push origin feature-x
6. tạo pull request → review → merge
10. Tips khi làm việc nhóm
- Luôn cập nhật nhánh chính trước khi tạo nhánh mới (
git pull
) - Commit rõ ràng:
git commit -m "Thêm chức năng tìm kiếm"
- Tạo nhánh mới cho mỗi tính năng, không code trên
main
- PR nhỏ, dễ review
- Merge sau khi đã pull lại code mới để tránh conflict
✅ Đến đây, bạn đã:
- Biết cách clone, branch, pull request, merge
- Làm việc nhóm hiệu quả với GitHub
- Giải quyết conflict khi nhiều người cùng sửa code