Hiểu github flow

Github Flow là một quy trình đơn giản dựa trên các branch với mục đích hỗ trợ team và các project được deploy một cách thường xuyên. Hướng dẫn này giải thích cách hoạt động và lý do tại sao Github Flow quan trọng.

Tạo một branch


Khi bạn làm việc trong một dự án, bạn sẽ có nhiều nhóm chức năng hoặc ý tưởng được triển khai trong bất kì khoảng thời gian nào, một số thì đã sẵn sàng nhưng một số khác thì không. Các branch tồn tại giúp chúng ta quản lý các quy trình cho công việc này.
Khi bạn tạo một branch trong dự án của bạn, bạn tạo ra một môi trường ở đó bạn có thể thực hiện những ý tưởng mới. Khi bạn thay đổi trên branch đó nó không tác động được tới “master” branch (source code chính), bạn sẽ tự do trong việc thử nghiệm và commit các thay đổi, an toàn khi biết rằng branch của bạn sẽ không bị merge cho đến khi nó sẵn sàng được kiểm tra( review) bởi những thành viên mà bạn đang cộng tác cùng.

Pro tip

Rẽ nhánh( Branching) là khái niệm cốt lõi của git, toàn bộ github flow dựa trên hoạt động của nó. Chỉ có duy nhất một quy định: mọi thứ trên“ master” branch luôn luôn có thể triển khai( deploy) được.
Bởi vì điều này, điều cực kì quan trọng là branch mới được tạo ra từ“ master” khi bạn đang tạo ra một chức năng mới( feature) hoặc sửa chữa( fix). Tên branch của bạn nên có tính mô tả (Ví dụ: refactor-authentication, user-content-cache-key, make-retina-avatars) vì vậy những người khác có thể thấy những gì đang được xây dựng.

Thêm một commits


Một branch của bạn khi tạo mới, đây là lúc bắt đầu tạo ra những thay đổi. Bất cứ khi nào bạn thêm, sửa hoặc xoá một file, bạn đang tạo mới một commit, và thêm nó vào branch của bạn. Quy trình của việc thêm commit này theo dõi các thay đổi khi bạn làm việc trong một feature branch.
Commits cũng tạo ra một lịch sử rất minh bạch cho, công việc của bạn giúp cho các thành viên khác có thể theo dõi để hiểu được bạn đã hoàn thành công việc gì và tại sao làm thế. Mỗi một commit có một tin nhắn bổ trợ thông tin (commit message) , nó mô tả tại sao lại có các thay đổi được tạo ra. Ngoài ra, mỗi commits là một đơn vị tách rời của thay đổi. Điều này giúp bạn bạn lật lại các thay đổi về trước (rollback) nếu bug được tìm thấy, hay nếu bạn muốn sửa đổi theo một hướng khác.

Pro tip

Commit mesages rất quan trọng, nhất là từ khi git theo dõi được các thay đổi của bạn và hiển thị mọi sự thay đổi khi các commit được push lên sever. Bằng việc viết commit mesages một cách rõ ràng, bạn có thể giúp cho những thành viên khác có thể theo dõi và đưa cho bạn những phản hồi (feedback) một cách dễ dàng.

Tạo pull request


Pull requests là bắt đầu thảo luận về commits của bạn. Bởi vì chúng được lấy và phân tích chặt chẽ với git repository bên dưới, bất kì ai cũng có thể nhìn thấy chính xác cái gì đang thay đổi và sẽ được merged nếu họ đồng ý yêu cầu của bạn.
Bạn có tạo pull request tại mọi điểm trong suối quá trình phát triển. Khi bạn có ít hoặc không có code nhưng bạn muốn chia sẻ ảnh hoặc ý tưởng chung, khi bạn bị kẹt và cần giúp đỡ hoặc lời khuyên, hoặc khi bạn sẵn sàng với review của mọi người. Bởi việc sử dụng Github được hệ thống nhắc đến trên pull requeest mesage của bạn, bạn có thể yêu cầu trả lời từ những người cụ thể hoặc các nhóm, cho dù họ đang ở bất kỳ đâu.
Pull request đóng góp có ích để mở nguồn dự án và mở thay đổi quản lý shared repostiories. Nếu bạn sử dụng mô hình fork and pull, pull request cung cấp một cách thông báo cho người quản lý dự án nếu bạn muốn họ xem xét thay đổi bạn đưa ra. Nếu bạn sử dụng chia sẻ pepository, việc pull requests giúp bắt đầu xem lại code và cuộc hội thoại được dự kiến thay đổi trước khi chúng được kết hợp với nhánh master “ code chinh dự án”.

Discuss and review your code


Trong một pull request, mọi người trong nhóm của bạn có thể xem lại bạn đã thay đổi code như thế nào , họ có thể có những câu hỏi hay lưu ý cho bạn. Có thể có những code style không phù hợp với nguyên tắc dự án, những phần đó sẽ được thay đổi kiểm tra sao cho phù hơp mới tổng thể của dự án. Pull requests là thiết kế để khuyến khích và lắm bắt sự trao đổi trong nhóm.
Bạn cũng có thể tiếp tục push vào branch code của bạn các thảo luận và trả lời những thực hiện commits của bạn. Nếu ai đó nhận xét những thứ bạn quên không làm hoặc họ đưa ra lỗi trong code của bạn, bạn có thể sửa nó trong code của mình và thay đổi chúng. GIthub sẽ hiện thị những thự hiện mới của bạn và mọi phản hồi mà bạn có thể nhận được thống nhất trên pull request view.
Pull request nhận xét là viết trên Markdown. Bạn có thể gửi ảnh và biểu tượng cảm xúc, sử dụng định dạng sẵn, và định dạng nhẹ nhàng khác.

Deploy

Bạn đưa lên một pull request đã được review và branch vượt qua các kiểm tra của bạn, bạn có thể triển khai dự án, bạn có thể thay đổi để kiểm tra và đưa ra các trình bày về chúng( code chương trình). Nếu phần branch của bạn có lỗi, bạn có thể lật ngược lại triển khai lại chúng trình bày trên master (có nghĩa là xem lại master nó chạy ổn định đến đâu lỗi chỗ nào sau đó kiểm tra lại phần đó)

Merge(hợp code với master)


Bây giờ, mọi thứ bạn thay đổi đã kiểm tra trong quá trình chạy, nó có thể được hợp nhất với code chính của bạn.
Sau khi hợp nhất, pull requests đưa lên được bảo quản trên dòng lịch sử thay đổi code của bạn. Bỏi vì chúng có thể được tìm kiếm lại, pull request cho phép quay trở lại thời gian, giúp người trong nhóm hiểu tại sao và làm như thế nào bạn quyết định làm vậy.
Với những sát nhập từ khóa vào pull request của bạn, ban có thể liên kết các lỗi với code. Khi bạn pull request ghép code với master , các vấn đề liên quan sẽ được đóng. Ví dụ : nhập closees #32 nó sẽ đóng lỗi có số 32 trên repository. Để biết thêm thông tin, bạn kiểm tra trợ giúp của chúng tôi https://help.github.com/articles/closing-issues-using-keywords/.

Tài liệu được dịch từ tài liệu gốc ở link: https://guides.github.com/introduction/flow/