0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng dẫn từng bước hợp tác trên GitHub cho lập trình viên

Đăng vào 6 tháng trước

• 5 phút đọc

Giới thiệu

Hợp tác trên GitHub không nên cảm thấy như một cuộc hỗn loạn. Khi mọi người tuân theo một quy trình đơn giản, đội nhóm sẽ hoạt động hiệu quả hơn và ít xảy ra sự cố hơn. Dưới đây là hướng dẫn thực tế, ngắn gọn mà bạn có thể sử dụng ngay hôm nay với các lệnh, giải thích và hành động cần thực hiện tại mỗi bước.

Ý tưởng nhanh
Làm việc trên nhánh chính? Không.
Làm việc trên nhánh tính năng/*? Có.
Thực hiện các commit nhỏ. Mở Pull Request (PR). Nhận đánh giá. Gộp khi CI thông qua. Ăn mừng.

1) Lấy kho lưu trữ (tham gia đội ngũ)

Sao chép kho lưu trữ chính thức:

bash Copy
git clone https://github.com/<org>/<repo>.git
dcd repo

Hành động: đọc README.md và CONTRIBUTING.md trước khi làm bất cứ điều gì.

2) Luôn bắt đầu từ nhánh mới (kéo nhánh chính)

Trước khi bắt đầu một nhiệm vụ:

bash Copy
git checkout main
git pull origin main

Hành động: không bao giờ bắt đầu một tính năng trên nhánh chính đã lỗi thời.

3) Tạo một nhánh (nhiệm vụ phụ của bạn)

Sử dụng tên rõ ràng:

bash Copy
git checkout -b feature/auth-login
# hoặc
git checkout -b fix/login-typo

Quy ước đặt tên: feature/, fix/, chore/, hotfix/.

Hành động: một nhiệm vụ = một nhánh. Giữ cho các nhánh tập trung và nhỏ gọn.

4) Lập trình và commit (các điểm kiểm tra nhỏ, có ý nghĩa)

Thực hiện các commit thường xuyên, nguyên tử:

bash Copy
git add .
git commit -m "feat(auth): thêm endpoint đăng nhập với JWT"

Mẫu thông báo commit (được khuyến nghị):

<type>(<scope>): <tóm tắt ngắn>

(có thể có mô tả dài hơn)

Loại: feat, fix, chore, docs, refactor, test.

Hành động: commit thường xuyên; thông điệp rõ ràng.

5) Giữ cho nhánh của bạn được cập nhật

Tùy chọn A: gộp nhánh chính vào nhánh của bạn:

bash Copy
git fetch origin
git merge origin/main
# giải quyết xung đột nếu có, sau đó:
git add .
git commit

Tùy chọn B — rebase (nâng cao; không rebase các nhánh công cộng/chia sẻ):

bash Copy
git fetch origin
git rebase origin/main
# giải quyết xung đột, sau đó:
git rebase --continue
git push --force-with-lease

Hành động: chọn một chiến lược mà đội của bạn đồng ý. Rebase viết lại lịch sử; gộp giữ lịch sử thẳng hàng với các commit gộp.

6) Đẩy nhánh của bạn lên GitHub

bash Copy
git push origin feature/auth-login

Hành động: đẩy thường xuyên để người khác có thể xem tiến trình công việc.

7) Mở một Pull Request (PR)

Trên GitHub: So sánh & tạo PR
Một PR tốt bao gồm:

Tiêu đề rõ ràng: feat(auth): thêm endpoint đăng nhập

Điều bạn đã xây dựng (ngắn gọn)

Tại sao bạn xây dựng nó

Cách kiểm tra cục bộ (các lệnh)

Hình ảnh hoặc ghi âm nếu có thay đổi giao diện người dùng

Liên kết đến vấn đề/nhiệm vụ liên quan

Hành động: làm cho mô tả PR trở thành một tài liệu mini để người đánh giá không phải đoán.

8) Quy tắc và đánh giá PR

Gán 1–2 người đánh giá và yêu cầu đánh giá.

Giữ PR nhỏ — dễ đánh giá, nhanh gọn hơn để gộp.

Khi bạn nhận được phản hồi: trả lời, commit sửa đổi vào cùng một nhánh, đẩy cập nhật.

Nếu người đánh giá đưa ra gợi ý, ưu tiên các commit gợi ý hoặc giải thích lựa chọn của bạn nếu bạn không đồng ý.

Hành động: lịch sự và cụ thể trong các đánh giá mã. Sử dụng các bình luận như những khoảnh khắc dạy học.

9) Kiểm tra CI & điều kiện

Các quy tắc phổ biến trước khi gộp:

Tất cả các bài kiểm tra CI đều vượt qua (đơn vị/tích hợp/lint)

Không có nhật ký console mới hoặc các tài liệu gỡ lỗi

Đạt các tiêu chuẩn về độ phủ mã / chất lượng (nếu đã cấu hình)

Được phê duyệt bởi các đánh giá

Hành động: không gộp nếu CI thất bại — sửa chữa hoặc yêu cầu trợ giúp.

10) Chiến lược gộp (gộp gộp, gộp, hoặc rebase)

Các tùy chọn điển hình:

Gộp gộp — một commit sạch trong nhánh chính

Tạo một commit gộp — giữ lịch sử nhánh

Rebase và gộp — lịch sử tuyến tính

Hành động: làm theo chính sách của đội bạn. Gộp gộp là tuyệt vời cho nhánh chính gọn gàng.

11) Sau khi gộp — dọn dẹp

Trên GitHub: xóa nhánh (tùy chọn, được khuyến nghị). Tại chỗ:

bash Copy
git checkout main
git pull origin main
git branch -d feature/auth-login
git fetch -p   # cắt bỏ các nhánh từ xa đã xóa

Hành động: dọn dẹp các nhánh để tránh lộn xộn.

12) Giải quyết xung đột - các bước thực tiễn

Nếu gộp/rebase báo cáo có xung đột:

Mở các tệp, tìm các dấu hiệu xung đột <<<<<<< / ======= / >>>>>>>.

Thảo luận với đồng đội đã làm việc trên thay đổi khác (đừng đoán).

Sửa chữa, git add <file>.

Tiếp tục rebase hoặc tạo một commit và đẩy.

Lệnh cho xung đột rebase:

bash Copy
# sau khi giải quyết
git add <file>
git rebase --continue
# nếu bạn cần hủy bỏ
git rebase --abort

Hành động: luôn nói chuyện qua các xung đột phức tạp — trò chuyện tiết kiệm thời gian.

13) Danh sách kiểm tra Pull Request (có thể sao chép)

Tiêu đề rõ ràng và có thể hành động

Mô tả: cái gì, tại sao, cách kiểm tra

Liên kết đến vấn đề/nhiệm vụ (nếu có)

Các bài kiểm tra đã thêm/cập nhật

Đã lint và định dạng

Không có nhật ký gỡ lỗi, bí mật hoặc tệp lớn

CI đã vượt qua

Ít nhất 1 phê duyệt

Hành động: thêm điều này vào mẫu PR của bạn.

14) Bảng cheat ngắn (các lệnh)

bash Copy
git clone <repo>
git checkout -b feature/your-task
git add .
git commit -m "feat(scope): message"
git pull origin main         # giữ cập nhật
git push origin feature/your-task
# sau khi hoàn tất:
# mở PR, sau khi gộp:
git checkout main
git pull origin main
git branch -d feature/your-task
git push origin --delete feature/your-task

Hành động cuối cùng:

Trước PR tiếp theo của bạn, cam kết với ba điều này:

Kéo nhánh chính mới nhất.

Tạo một nhánh tập trung và giữ nhỏ.

Thêm mô tả PR rõ ràng + các bước kiểm tra.

Gửi đi thông minh hơn, không chỉ nhanh hơn.

Chúc bạn may mắn!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào