Để merge và push code từ branch lên main một cách hiệu quả mà không bị mất code, bạn cần tuân theo một số bước chuẩn hóa để tránh xung đột và lỗi không mong muốn. Dưới đây là hướng dẫn chi tiết:
1. Cập nhật branch chính (main)
Trước khi bắt đầu merge, đảm bảo rằng bạn đã có phiên bản mới nhất của main
. Chạy lệnh sau để cập nhật:
git checkout main
git pull origin main
2. Chuyển sang branch làm việc
Chuyển sang branch bạn đang làm việc (branch phát triển tính năng hoặc sửa lỗi):
3. Cập nhật branch làm việc với code mới nhất từ main
Đảm bảo branch của bạn có mã mới nhất từ main
để tránh xung đột sau này khi merge. Có thể sử dụng một trong hai cách sau:
Cách 1: Rebase (Khuyến khích vì giữ lịch sử commit gọn gàng)
Rebase giúp đưa lịch sử commit của bạn lên đầu branch main
:
git fetch origin
git rebase origin/main
- Kiểm tra xung đột nếu có, và giải quyết từng file theo hướng dẫn của Git.
- Sau khi giải quyết xung đột, sử dụng:
Cách 2: Merge main vào branch
Cách này sẽ tạo ra một commit merge, giữ nguyên lịch sử của cả hai branch:
git fetch origin
git merge origin/main
- Tương tự, nếu có xung đột, bạn cần giải quyết chúng.
4. Kiểm tra code
Sau khi rebase hoặc merge, hãy kiểm tra lại code của bạn để đảm bảo không có vấn đề nào phát sinh từ quá trình giải quyết xung đột.
5. Push code lên branch hiện tại
Khi mọi thứ đã ổn, bạn có thể push code đã cập nhật lên branch:
6. Merge branch lên main
Bây giờ, bạn có thể merge code từ branch của mình lên main
. Có hai cách phổ biến:
Cách 1: Pull Request (PR)
Đây là phương pháp được khuyến khích trong các dự án nhóm:
- Tạo Pull Request trên nền tảng như GitHub hoặc GitLab để merge code từ
your-branch
vào main
.
- Một thành viên khác của nhóm sẽ review và merge PR.
Cách 2: Merge trực tiếp từ dòng lệnh
Nếu làm việc một mình hoặc trong môi trường không cần Pull Request, bạn có thể merge trực tiếp:
- Merge branch của bạn vào
main
:
7. Xóa branch cũ
Sau khi đã merge xong, bạn có thể xóa branch cũ nếu không còn cần thiết:
git branch -d
git push origin --delete
Một số lưu ý quan trọng:
- Luôn cập nhật code từ
main
trước khi bắt đầu merge để tránh xung đột.
- Rebase thay vì merge nếu bạn muốn giữ lịch sử commit sạch sẽ.
- Kiểm tra kỹ code sau mỗi bước merge hoặc rebase để đảm bảo mọi thứ hoạt động tốt.
- Sử dụng Pull Request (PR) để đảm bảo có người review code trước khi merge vào
main
.
Việc tuân theo quy trình trên sẽ giúp bạn merge và push code từ branch lên main một cách hiệu quả, tránh mất mát code và giảm thiểu xung đột.