git branch và mô hình pull request (Phần 2)

phần trước chúng ta đã hiểu về git branch.
Phần này, chúng ta sẽ đi tìm câu trả lời cho những câu hỏi ở phần trước: mô hình pull request là gì, và nó giúp ích được gì cho ta, nó có liên quan gì đến git branch?

Pull request

Đề đảm bảo cho việc tương tác nhóm được tốt hơn, và hạn chế tối đa conflict có thể xảy ra, cũng như dễ dàng theo dấu dự án (để khôi phục trạng thái nếu lỡ có biến cố xảy ra), hay để cộng đồng nguồn mở có thể tham gia đóng góp cho dự án được thuận tiện và blah blah lợi ích khác, pull request ra đời.
Ở ví dụ trong phần trước, chúng ta đã phát triển xong tính năng bar và muốn ghép nó vào với master, lúc này ta sẽ push code mình lên bar branch trên server, sau đó thực hiện yêu cầu được ghép code vào nhánh chính: yêu cầu này chính là pull request.

Thao tác:

Ở terminal:

Lệnh trên sẽ đẩy bar branch của mình lên server, đồng thời tạo bar branch trên đó nếu chưa có.

Github sau khi đã push hai branch master và bar

Github sau khi đã push hai branch master và bar

Nhìn hình thì bạn sẽ thấy bây giờ trên github mình đang có hai branch: masterbar vừa được push lên.
Vẫn ở trên github, chuyển sang bar branch và bấm vào Compare & pull request bạn sẽ được điều hướng sang màn hình Open a pull request
Open pull request

Open pull request

Điền thông tin cần thiết vào và bấm Create pull request lúc này, người chịu trách nhiệm cho dự án sẽ nhận được yêu cầu của bạn, người ta sẽ kiểm tra và cho phép ghép code vào. Lúc này, tính năng bar sẽ thuộc phần chính của dự án. Chúc mừng bạn 😀

Thêm chút nữa

Đời không bao giờ đẹp như mơ, trong khi bạn phát triển tính năng bar, thì vẫn có những pull request khác được ghép vào master, và có thể nó sẽ sinh ra conflict, lúc này, pull request của bạn bị từ chối và bạn phải giải quyết những conlict này trước khi push code và tạo pull request tiếp theo. Vậy, làm sao để giải quyết những conflict này? Vui lòng đọc bài viết git conflict và cách giải quyết của mình.
Có một cách để hạn chế bi từ chối pull request này, đó là trước khi push nhánh của bạn lên server, bạn hãy chuyển về master branch, lấy code mới nhất trên master về, sau đó sang lại bar branch, cuối cùng tiến hành merge hoặc rebase master branch vào bar branch của bạn. Nếu có conflict thì bạn giải quyết luôn xong rồi mới push và tạo pull request.
Vậy, rabasemerge là gì, chúng giống, khác gì nhau? Mời bạn đọc bài viết Sự khác biệt giữa Git Rebase and Git Merge của tác giả @vinhnglx trên github.

Lập trình và hơn thế nữa

Spread the love
  •  
  •  
  •  
  •  
  •  

Leave a Reply

2 Comments on "git branch và mô hình pull request (Phần 2)"

Notify of
avatar
Sort by:   newest | oldest | most voted
trackback

[…] gì cho ta, nó có liên quan gì đến git branch. Mời bạn đọc tiếp phần hai: Mô hinh pull request và cách làm việc BìnhCQ Lập trình và hơn thế […]

trackback

[…] giữa chừng dự án 5. git branch và mô hình pull request (Phần 1): git branch 6. git branch và mô hình pull request (Phần 2): pull request 7. git conflict và cách giải quyết 8. Git remote và việc push source code lên nhiều […]