Công cụ thành viên

Công cụ trang web


programming:github_rule

Đây là một phiên bản cũ của tài liệu!


Nguyên tắc quản lý kho code NukeViet trên Github

Tài khoản quản lý

  • Kho code chính của NukeViet (NukeViet Repository) được quản lý thông qua tài khoản của tổ chức NukeViet (Nukeviet Organization).
  • Tài khoản của tổ chức NukeViet được quản lý bởi Ban quản trị NukeViet và đội ngũ phát triển code chính.

Địa chỉ kho code

Nguyên tắc phát triển code

  • Tất cả mọi người dù là người quản lý kho code, thành viên đội code hay những người đóng góp thuộc các tổ chức, công ty, các cá nhân… đều có thể đóng góp phát triển code.
  • Việc phát triển code phải thực hiện trên kho code riêng, không được code trực tiếp trên kho code chính của NukeViet (kể cả tài khoản của người quản lý kho code).

Quy trình tham gia phát triển code

  • Để tham gia phát triển code, chỉ cần 1 tài khoản trên Github. Sau đó truy cập kho code của nukeviet, ấn nút Fork để copy project có sẵn thành project của mình, rồi sau đó ta có thể tự do chỉnh sửa project đó của mình.
  • Chỉnh sửa xong thì ấn nút Pull Request để gửi yêu cầu đóng góp lên cho những người quản lý kho code.
  • Những người quản lý kho code sẽ kiểm tra và phê duyệt các đóng góp này. Nếu đóng góp chưa đạt hoặc cần chỉnh sửa thì những người quản lý có thể viết góp ý ngay tại yêu cầu đóng góp và trả lại để người đóng góp chỉnh sửa theo góp ý và gửi lại sau khi đã sửa xong. Quá trình này diễn ra cho đến khi yêu cầu đóng góp được chấp nhận, đóng góp đó sẽ được trộn (merge) vào các nhánh phù hợp với dự án được đóng góp.
  • Để tăng hiệu suất quản lý, toàn bộ công việc chỉnh sửa, xử lý xung đột… trước khi gửi đóng góp lên sẽ do người đóng góp xử lý. Người quản lý kho code sẽ chỉ việc kiểm tra và trả lời chứ không phải mất công để sửa lại code được đóng góp.

Cấu trúc tổ chức kho code

Cấu trúc tổ chức kho code của NukeViet tuân theo mô hình phân nhánh Git như hình dưới.

  • Hai nhánh (branch) đi suốt chiều dài phát triển code là Master và Develop (xem hình bên) Hai nhánh chủ đạo của dự án. Trong đó:
    • Nhánh chính là nhánh Master, nhánh này luôn đảm bảo rằng code được lưu trữ trên đó là phiên bản chính thức mới nhất đang được phát hành.
    • Nhánh Develop là nhánh được cập nhật liên tục các đóng góp của tất cả mọi người ở mọi thời điểm. Nhánh này sẽ tiếp nhận các đóng góp của mọi người gửi đến thông qua việc tiếp nhận Pull Request cũng như tiếp nhận việc nhập các nhánh khác vào (integration branch). Khi nhánh Develop đạt độ chín mùi, nó sẽ được nhập vào nhánh Master đồng thời được dán nhãn phiên bản và quá trình phát hành phiên bản được tiến hành.
  • Ngoài 2 nhánh trên, kho code còn có các nhánh hỗ trợ phát triển, và nó chỉ tồn tại trong một giai đoạn nào đó của dự án nhằm phục vụ những mục đích nhất định, gồm có các nhánh sau:
    • Feature branches - Các nhánh tính năng
    • Release branches - Các nhánh hỗ trợ phát hành phiên bản
    • Hotfix branches - Các nhánh hỗ trợ vá lỗi nhanh

(Tài liệu đang được cập nhật)

programming/github_rule.1353609259.txt.gz · Sửa đổi lần cuối: 2012/11/23 01:34 (sửa đổi bên ngoài)