Merge Request như thế nào trong GitLab

5/5 - (1 bình chọn)

Khi bạn làm việc với Git Flow, việc tạo các branch tách ra để thực hiện công việc và sau đó được gộp vào cây chính (develop hoặc master) thay vì nhặt commit (cherry-pick) được gọi là là Merge. Hãy cùng tìm hiểu cách thức làm điều này.

Merge Request là gì?

Nếu bạn dùng các công cụ Git, việc quan sát cây chính và cây phụ (branches) là điều rất quan trọng. Trong bài viết trước về Git Flow, Code Tốt đã hướng dẫn cách thức một team hoạt động trên nhiều branch khác nhau. Trong bài viết này, ta sẽ cùng tìm hiểu chi tiết việc gộp nhánh bằng cách tạo Merge Request trên GitLab nhé.

Giao diện Merge Request tốt hơn nhiều git diff

Giao diện UI của chức năng Merge Request trên GitLab khá dễ dàng thao tác so với màn hình toàn code của terminal.

Thêm nữa, gần đây còn bổ sung chức năng “Người duyệt” (Approvers) để giúp làm việc teamwork dễ dàng hơn, chẳng hạn như cần người review trước khi duyệt (double-check).

Giao diện Merge Request của GitLab

Code Review chưa bao giờ dễ đến thế với Merge Request

Khi một tính năng được thêm vào thông qua Merge Request, bạn sẽ nhìn thấy các phần code đã chỉnh sửa. Điều này là vô cùng quan trọng. Nếu bạn nhìn từng commit lẻ thì rất khó nắm được tổng thể những gì đã cập nhật cho một tính năng. Với Merge Request thì bạn nhìn thấy rất rõ ràng và có thể quyết định cái gì là cần thiết hay không.

Xem xét thay đổi trong code Merge Request trên GitLab

Khi nào cần tạo Merge Request?

Thường khi bạn checkout branch mới, bạn nên chủ động tạo merge request ở thời điểm có commit đầu tiên (hoặc ở thời điểm đã hoàn tất fix cho một phần nào đó).

Cách tạo Merge Request

Bước 1: Bạn cần đẩy code update từ máy của mình lên trên GitLab.

Bước 2: Truy cập vào gitlab.com, đăng nhập bằng tài khoản của bạn. Khi bạn truy cập vào branch của bạn vừa push lên, bạn sẽ thấy có nút “Merge Request” như hình dưới đây:

Tạo Merge Request trong branch GitLab

Bước 3: Bạn sẽ nhập một số thông tin cần thiết.

Quan trọng #1: Lựa chọn branch gốc

Lưu ý check ngay xem branch gốc để branch của bạn merge vào có đúng không đã nhé, chẳng hạn bạn cần đổi từ master về develop chẳng hạn, thì sẽ làm như sau:

Đổi branch trong Merge Request GitLab

Sau đó, trong giao diện tiếp theo bạn chọn branch:

Chọn branch gốc trong GitLab Merge Request

Sau khi đã chắc chắn các branch là chuẩn rồi, bạn bắt đầu mới nhập các thông tin khác.

Quan trọng #2: Nếu bạn tạo Merge Request khi chưa hoàn tất

Nếu bạn đang làm dở, trong Merge Request Title bạn nên thêm “WIP” thì sẽ được hiểu là đang làm dở (Work In Progress) như trong hình:

Merge Request Title WIP trong GitLab

Các mục quan trọng khác bạn cần lựa chọn:

  • Assignee: có 2 lựa chọn, hoặc là đặt tên người phụ trách review code trước khi cho vào branch, hoặc là chính người làm branch này. Thông thường nên chọn là người làm branch này.
  • Approvers: người được lựa chọn để review code. Thường là Tech Lead hoặc Owner của một gói tính năng nào đó. Bạn có thể chọn 1 hoặc 2 (2 thì thường bao gồm cả Lead và Owner).
  • Approvals required: số người tối thiểu validate code thì mới cho phép merge thành công. Thường là 1 hoặc 2.

Sau đó, ở bên dưới, bạn kiểm tra kĩ lại xem các commit bạn muốn tạo Merge Request đã khớp và đủ chưa nhé. Cuối cùng, bạn nhấp chuột vào nút “Submit merge request” để khởi tạo. Email thông báo sẽ được gửi đến những người liên quan.

Tham khảo thêm: Hướng dẫn từ GitLab

1 bình luận về “Merge Request như thế nào trong GitLab”

Viết một bình luận


Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Gọi tư vấn 0982.90.4343
Chuyên gia về Web
Bài viết liên quan

07/04/2024

PHP: Format date dd/mm/yyyy và so sánh với Date hiện tại
Một vấn đề hay gặp trong quá trình xử lý PHP datetime là tình huống format date từ định dạng...

02/01/2024

Fix lỗi npm không thể cài các package devDependencies
Khi cài đặt dự án,  có lúc bạn sẽ cài mãi cũng không đủ các package npm, đặc biệt là...
Gọi file PHP trong WordPress

19/09/2023

Cài đặt và sử dụng WP-CLI trên môi trường Linux
Trên một số môi trường Hosting có thể cung cấp SSH hoặc Terminal access, song không có sẵn WP-CLI để...
Import database MySQL lớn trên môi trường Docker

06/08/2023

Import database MySQL lớn trên môi trường Docker
Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import...