Skip to content

Latest commit

 

History

History
30 lines (14 loc) · 1.9 KB

29-04-2021.md

File metadata and controls

30 lines (14 loc) · 1.9 KB

I/ Các tùy chọn merge pull request:

  1. Create a merge commit:
  • Tất cả commit từ branch này sẽ được thêm vào base branch bằng 1 merge commit.

  • Create a merge commit sử dụng cơ chế no fast fowrard (--no-ff). Để merge pull request, ta phải có sự cho phép ở repo.

  1. Squash and merge:
  • Khi chọn Squash và merge khi pull request lên github, tất cả những commit của pull request được nén lại thành 1 commit duy nhất. Thay vì thấy được commit của từng người ở trong branch, các commit sẽ được hợp lại thành 1 commmit và merge lên 1 branch mặc định. Pull request khi ta chọn Squash and merge sẽ dùng cơ chế fast forward.

  • Ta dùng Squash and merge để tạo lịch sử git trên repo có tổ chức hơn. Các commit làm việc theo qui trình sẽ có ích khi làm việc ở những branch trong tương lai nhưng các commit làm việc theo qui trình không cần thiết phải giữ lại trong lịch sử git.

  1. Rebase and merge:
  • Khi chọn Rebase and merge khi pull request lên github, tất cả commit từ topic branch hoặc head branch sẽ được thêm vào branch master mà không cần merge commit. Pull request khi chọn Rebase and merge dùng cơ chế fast forward.

  • Để rebase (phục hồi) và merge các pull request, ta phải có sự cho phép (permissions) từ repo và repo phải cho phép phục hồi việc merge.

II/ Cách phân biệt:

  • Create a merge commit: giữ lại toàn bộ commit ở branch của người tạo và chèn những commit đấy vào branch master.

  • Squash and merge: nén các commit mới ở branch feature thành 1 commit duy nhất khi pull request lên master.

  • Rebase and merge: Chuyển những commit mới của branch feature xuống cuối của branch master hiện tại, sáp nhập thành những commit của branch master.