Pull Request Là Gì

  -  
*

Giữ một lịch sử dân tộc “git gọn gàng gàng” có thể tiết kiệm không hề ít thời gian cũng như nỗ lực mang đến lập trình viên lúc tìm lại các commit liên quan đến bug hoặc issue. Giả sử ta đã có một nhánh (branch) và tạo nên một pull request.GitHub đưa về ba sự lựa chọn khi merge commits, kia là:

Create a Merge CommitSquash & MergeRebase và Merge

Các bạn có thể xem hình bên dưới:

*
Các bạn hãy cùng quan sát và theo dõi “ 3 hình trạng merge “ để xem được sự khác biệt giữa bọn chúng và gồm sự lựa chọn hợp lí cho từng trường hợp chũm thể.

Bạn đang xem: Pull request là gì

1.Create a Merge CommitHình dưới là tùy lựa chọn “Create a merge commit”:
*
Merge all of the commits into the base branch (merge toàn bộ commit vào vào nhánh cơ sở)Đây là lựa chọn mặc định khi Merge pull request trên Github.Để bắt đầu, bọn họ có một nhánh base master cùng với commit thuở đầu (Initial Commit) và 2 commit mới, kí hiệu là commit 1,commit 2.Sau đó họ tạo một branch “feature-branch” , thường xuyên tạo 2 commit commit 3 cùng commit 4. Tiến hành push những chuyển đổi của chúng ta vào “feature-branch”.Chúng ta vào Github mục Insights -> Network cùng quan sát:

*
Khi sử dụng “Merge pull request” (giả sử không có gì xung đột xẩy ra trước đó), commits 3 cùng 4 sẽ được thêm vào nhánh chính như một commit, điện thoại tư vấn là Merge branch feature-branch và biến đổi một HEAD mới. Bọn họ cùng quan tiếp giáp điều gì xẩy ra trong Insights -> Network:
*

2. Squash and mergeHình dưới là tùy lựa chọn “Squash & merge”:

*

All commits from this branch will be combined into one commit in the base branch (gộp phần nhiều commit vào trong một commit duy nhất)Squashing làm việc giống với rebasing một nhánh, chúng ta có thể nhận nhiều commits, pull request với squash - nén chúng vào 1 commit duy nhất. Việc này khá như thể với Merge pull request, nhưng tinh tế hơn.

Thay vày thêm commits 3 cùng 4 cùng với commit “Merge branch feature-branch”, chúng ta gộp 3 cùng 4 và tác dụng cho ra duy nhất commit gộp là 3**(squashed)**.Chúng ta thuộc quan gần cạnh điều gì xẩy ra trong Insights -> Network:

*
Tùy lựa chọn squash bên trên Github UI chất nhận được chúng ta biến đổi các thông điệp commit mặc định. Các commit sau đây được “squash” bên dưới dạng thông điệp khoác định như sau:

*

Nếu bạn muốn sử dụng nó , hãy nhớ là edit những thông điệp !Chúng ta thực hiện tùy lựa chọn merge này lúc 1 feature branch có không ít các commit nhỏ dại được add. Lúc đó, bạn có thể nén chúng nó vào 1 commit. Commit nén rất có thể chứa một thông điệp với những thông tin biểu thị về commit được nén bên dưới nó.

Xem thêm: Code Ngôi Sao Thời Trang 2021 ❤️️ Tặng Giftcode Code Nstt, Code Quà Tặng

3. Rebase and MergeHình bên dưới là tùy chọn “Rebase and merge”:

*
Rebase the commits individual onto the base branch (tập hợp toàn bộ những commit trơ thổ địa vào vào một branch cơ sở)Trong ngôi trường hợp chỉ việc sửa đổi một trong những lượng nhỏ dại commit cũng tương tự một đoạn code rõ ràng thì rebase và merge đang là lựa chọn hàng đầu. Bí quyết làm này sẽ có tác dụng cho quy trình merge được đơn giản cũng giống như giữ lịch sử dân tộc Git nhỏ gọn hơn.Ta đề nghị tạo 2 commit bên trên nhánh “feature-branch” thêm commits 1 cùng 2. Rebase & Merge vẫn chuyển các commits lên đầu nhánh chủ yếu master branch - biến hóa HEAD của master branch nhưng mà không merge “feature-branch” như khi thực hiện Merge pull request:Chúng ta thuộc quan ngay cạnh điều gì xẩy ra trong Insights -> Network:
*

Kết Luận

Github cung cấp cho ta khôn xiết nhiều tính năng để thống trị dự án một biện pháp hiệu quả. Vì vậy bạn đề xuất hiểu rõ thực chất của mỗi chức năng để gồm thể cai quản dự án của bọn họ được tốt hơn.

Xem thêm: Học Lập Trình Cùng Con - Game Vua Trò Chơi Private Tặng Vip 7 + 500K Kc

Nếu như bạn có nhu cầu quản lý được toàn bộ những commit ID một trong những branch sau khi chúng đã làm được merge/xóa phiên bản phải sử dụng Create a merge commit. Mặt khác bạn làm một dự án mã mối cung cấp mở với những người đóng góp thì Squash and merge là giỏi nhất. Còn bạn làm một private repo nhưng mà cần kiểm soát những nhân viên cấp dưới thì Rebase & merge là một lựa chọn xuất sắc tuy nhiên Squash và merge vẫn vận động ổn.

elliotchance/comparison-of-merging-strategies-in-github-2f948c3b8fdc https://rietta.com/viviancosmetics.vn/github-merge-types/