Skip to main content
Phan Ngọc Quỳnh
💬
0 discussions

Gitlab-Merge Request-Guideline

I. Benefits

  • Hỗ trợ hợp nhất xuất bản nội dung từ một nhánh (branch) nguồn vào nhánh đích lên Gitlab
  • Quản lý tốt hơn về nội dung muốn được merge trước khi được merge vào nhánh đích
  • Tránh tình trạng chỉnh sửa nội dung một cách không hệ thống trên nhánh đích

II. Prerequisites

  • Tài khoản truy cập Gitlab
  • Nếu được mời vào Gitlab của một tổ chức, role cần là Developer trở lên
  • Người đóng góp cần có quyền push vào nhánh đích đối với phương thức tạo MR bằng cách tạo branch

III. Infomation Level

  • infoLevel:3 (reader must be signed official employee's contract from at least junior grade)
  • writingLevel:1 (only text without image/video)

IV. Tutorials

  1. Cơ bản về Merge Request (MR) - Yêu cầu hợp nhất nội dung
  • Merge Request
    • Merge request là yêu cầu hợp nhất xuất bản nội dung từ một nhánh nguồn vào nhánh đích.
    • Branch: nhánh hoặc một nhánh
    • Commit: lịch sử chỉnh sửa hoặc lần lưu thay đổi được ghi lại ở các thay đổi của dự án vào lịch sử một cách có hệ thống
    • Commit message: Thông tin/thông điệp mô tả vừa được chỉnh sửa
    • Web IDE: một trang web của nhà phát triển (developer) để viết và chỉnh sửa nội dung
  1. Các bước thực hiện

Hiện tại Gitlab có hỗ trợ MR qua nhiều phương thức khác nhau:

  • Tạo từ danh sách MR
  • Tạo từ Issue
  • Tạo từ Task
  • Tạo từ Web Editor
  • Tạo branch sau đó tạo MR
  • Tạo từ Fork
  • Tạo qua Email

Tuy nhiên tạo MR từ một nhánh (branch) là phổ biến và hiệu quả nhất bởi cách yếu tố sau:

  • Phù hợp khi:

    • Dự án nội bộ, nhiều người cùng đóng góp
    • Cần kiểm soát việc Merge nội dung vào nhánh đích hoặc nội dung/dự án chính.
  • Ưu điểm:

    • Tự động liên kết với Pipeline
    • Quản lý và dễ dàng tập trung được vào nội dung yêu cầu merge
  1. Các bước thực hiện tạo MR từ một branch
  • Bước 1: Tạo branch riêng chỉnh sửa nội dung để không bị ảnh hướng đến branch đích

    • Bước 1.1: Chọn Project cần thực hiện

    • Bước 1.2: Tìm và chọn biểu tượng dấu “ + “ => chọn “New branch” => Sau đó đặt tên cho branch mình vừa tạo

    • Bước 1.3: Chọn "Create branch"

  • Bước 2: Chỉnh sửa nội dung

    • Bước 2.1: Ở Project cần chỉnh sửa, ở phía trên tên của Project, nhấn vào biểu tượng có 3 chấm tròn được nối liền nhau => chọn branch nguồn mà bạn đã tạo.

    • Bước 2.2: Chỉnh sửa nội dung Ở bước này, có 2 cách chỉnh sửa nội dung phổ biến, đó là: Edit sigle file (chỉ chỉnh sửa trên 1 file) và chỉnh sửa trên Web IDE.

      Chỉnh sửa đối với 1 file nhất định (Edit Single file)

      • Bước 2.2.1: Chọn file cần sửa => Chọn "Edit" => "Edit Single File"

      • Bước 2.2.2: Sau khi chỉnh sửa xong => Chọn "Commit change"

        Chỉnh sửa nội dung trên Web IDE:

      • Bước 2.2.1: Chọn file cần sửa => Chọn "Edit" => "Open in Web IDE"

      • Bước 2.2.2: Sau khi hoàn thành chỉnh sửa => tìm và chọn biểu tượng tam giác với các 3 chấm tròn ở cột bên trái

      • Bước 2.2.3: Đặt tên cho Commit message

      • Bước 2.2.4: Chọn Commit and push to '...'

        Note: '...' ở đây là branch sẽ được đẩy lên vậy nên cần chọn branch mà mình đã tạo để chỉnh sửa tránh đẩy lên nhánh đích gây xáo trộn nội dung.

    Note:

    • Cách chỉnh sửa trên Web IDE có ưu điểm nhanh, đơn giản và có thể chỉnh sửa trên nhiều file khác nhau nhưng không bắt buộc.
    • Bạn hoàn toàn có thể lựa chọn phương thức chỉnh sửa phù hợp nhất cho mình.
  • Bước 3: Cách tạo Merge Request từ branch đã tạo vào branch đích

    • Bước 3.1: Vào Merge Request

    • Bước 3.2: Tạo Merge request mới bằng cách tìm và chọn "New Merge request"

    • Bước 3.3: Chọn Source branch và Target branch

      • Source Branch =>> Select source branch => Chọn branch mình "vừa tạo" hoặc branch mình muốn merge
      • Target branch => Select target branch => chọn Branch đích. ex: main
    • Bước 3.4: Để admin dễ dàng quản lý và tóm tắt về phần nội dung cần được merge, các thông tin sau là tối thiểu cần được fill:

      • Title: tiêu đề của MR
      • Description: mô tả hoạt động mới trong nội dung
      • Assignee: assign người review và hoàn thiện thêm MR
      • Reviewer: người review MR cuối cùng trước khi được chấp nhận
      • Có thể chọn “Delete merge branch when merge request is accepted” để MR sẽ tự động xóa khi được chấp nhận và tránh tồn đọng
    • Bước 3.5: "Create merge request"

    Note: Đến đây bạn đã tạo ra được MR từ nhánh nguồn của mình vào nhánh đích thành công. Tuy nhiên, nếu bạn chưa cảm thấy hài lòng về nội dung mà mình đang yêu cầu được MR bạn hoàn toàn có thể chỉnh sửa nội dung trước khi được duyệt.

Examples: Quy trình tạo MR để được xuất bản nội dung từ branch của A vào branch main đối với một tổ chức

  • Bước 1: Tạo branch

    • Chọn Project cần thực hiện
    • Tìm và chọn biểu tượng dấu “ + “ => chọn “New branch”
    • Đặt tên branch là A => Create branch
  • Bước 2: Chỉnh sửa hoặc tạo bài viết trên Web IDE

    • Vào branch đã tạo => Tìm và chọn “Edit” => Web IDE

    • Vào folder của Project cần thay đổi => New file hoặc chỉnh sửa nội dung của file mà mình muốn

    • Sau khi chỉnh sửa, để lưu nội dung sau khi chỉnh sửa - Tạo commit

      • Bước 2.1: Sau khi hoàn thành chỉnh sửa => tìm và chọn biểu tượng tam giác với các 3 chấm tròn ở cột bên trái
      • Bước 2.2: Đặt tên cho Commit message là "Chỉnh sửa nội dung A"
      • Bước 2.3: Chọn Commit and push to 'branch A'
  • Bước 3: Tạo MR từ branch A

    • Vào Merge Request

    • Tạo Merge request mới bằng cách tìm và chọn "New Merge request"

    • Chọn Source branch và Target branch

      • Source Branch =>> Select source branch => Chọn branch A
      • Target branch => Select target branch => chọn branch main.
    • Fill trường thông tin

      • Description: mô tả hoạt động mới trong nội dung
      • Assignee: assign người review để hoàn thiện thêm MR
      • Reviewer: người review MR cuối cùng trước khi được chấp nhận
      • Chọn “Delete merge branch when merge request is accepted” để MR sẽ tự động xóa khi được chấp nhận và tránh tồn đọng
    • Chọn "Create merge request"

V. Next Steps of Documentation

  • 04/2025: ~~Init first commit of this guideline
  • 10/2025: next action from HCE (review trước khi public lên docs.gcalls.co)
  • mm/yyyy: next update
  • mm/yyyy: next update