Git Rebase vs Git Merge và cuộc tranh cãi không có hồi kết - Đàm đạo về Git

Nội dung bài viết

Video học lập trình mỗi ngày

Git rebasemerge đều có chung một nhiệm vụ đó là hợp nhất các branch (nhánh) lại với nhau, nhưng có một sự khác biệt rõ ràng đó chính là lịch sử các commit sau khi bạn hợp nhất nhánh này đến nhánh khác.

Quy trình gitflow

Ở bài trước chúng ta đã nói về cách làm việc gitflow mà hầu như hết 90% các công ty đều sử dụng, nếu như bạn là một thành viên mới của team thì không nên bỏ qua cách quản lý code của team khi sử dụng Git. Lời khuyên ở đây, hãy làm quen với git workflow nếu không sẽ giống trường hợp Một dev nghỉ việc do chưa biết cách quản lý code trên git của team.

Trong công việc phát triển thực tế, chúng ta đều phát triển ở branch của chính mình sau khi tách từ branch dev không phải từ master. Tiếp tục như thế nào?

Sau đó tiếp tục là merge branch của chính mình vào nhánh dev, để merge thì có hai cách đó là dùng git rebasegit merge vậy ở đây câu hỏi được đặt ra là hai thằng này có gì khác nhau?

 git rebase vs git merge

Git merge là gì?

Nói cho dễ hiểu trong cuộc sống đời thường thì phải có hợp tác mới đi nhanh, ví dụ A làm tại nhà A và làm các task 1, task 2, và task 3. B làm tại nhà B với các task 4, task 5, và task 6. Thì sao khi hết covid 19 thì AB đều mang sản phẩm tới công ty để nộp và hoàn thành sản phẩm. Sau khi công ty merge lại thì sẽ thấy một history như sau: task 1, task 2, và task 3, task 4, task 5, và task 6.

Thực tế trong git thì có thêm phần lịch sử commit code nữa đó là ghi lại những thao tác commit code điều này rất tốt cho A hay B và công ty có thể thấy và có thể convert lại code nếu muốn thông qua các commit. Tốt hơn hết hãy xem video để dễ hiểu hơn

Nếu nói như vậy chỉ cần sử dụng git merge sẽ đủ hay sao? Không, bạn sẽ thay đổi suy nghĩ nếu như bạn đọc tiếp phần dưới.

Git rebase là gì? Vì sao tôi lại cần phải biết

Cũng tương tự như trên là sử dụng git merge nhưng ở đây tôi lại sử dụng git rebase thì tôi có lợi gì và hay ho gì? Đó là khi sử dụng git rebase sẽ mang lại cho bạn cơ hội để "sắp xếp hợp lý" lịch sử commit của chính mình. Nó không còn theo lịch sử commit của nhiều người, thay vì đó những commit của chúng ta sẽ được tối ưu hóa cá nhân là lên đầu tiên. Và các các nhân trong team cũng vậy nếu như họ sử dụng rebase.

Để hiểu rõ thêm điều này, vui lòng xem video để hiểu một cách cặn kẽ và rút ngắn thời gian tìm hiểu.

Git merge và Git rebase khác nhau điều gì?

Khi xem xong video thì chúng ta sẽ nhận được kết luận gì?

Hai phe tranh cãi không ngừng, những người khác nhau có quan điểm khác nhau, có thể nói đó là một câu hỏi về giá trị. Về vấn đề này, cá nhân tôi thích cái sau hơn cụ thể là git rebase, vì có những công cụ hữu ích như vậy, chúng ta nên được sử dụng một cách tự nhiên và vì sao nó lại ra đời.

Sử dụng không phải là lạm dụng hoặc phải theo người khác, nhưng chúng ta cần tuân thủ các tiêu chuẩn nhất định , để đảm bảo rằng chúng ta sẽ tuân theo quy trình của một công ty nếu có. Ví dụ: bạn không được sử dụng rebase khi có các phụ thuộc khác ở phía dưới, nếu không bạn gần như chắc chắn sẽ gặp rắc rối lớn.

Đó là nó cho bài viết hôm nay. Quyết thắng. NHỚ XEM VIDEO nếu không hiểu.

Có thể bạn đã bị missing