GIT FLOW LÀ GÌ

     

Quy trình các bước Gitflow là một xây đắp dòng công việc Git được xuất phiên bản lần trước tiên và được thông dụng bởiVincent Driessen tại nvie.Quy trìnhcông câu hỏi Gitflow khái niệm một mô hình phân nhánh nghiêm ngặt được thiết kế với xung quanh bản phát hành dự án.Điều này cung cấp một khuôn khổ trẻ trung và tràn trề sức khỏe để thống trị các dự án lớn hơn.

Bạn đang xem: Git flow là gì

Gitflow cân xứng lý tưởng cho những dự án có chu kỳ phát hành theo kế hoạch trình.Quy trình các bước này không thêm bất kỳ khái niệm hoặc lệnh bắt đầu nào ngoài những gì cần thiết choQuy trình chi nhánh tính năng.Thay vào đó, nó gán những vai trò rất ví dụ cho các nhánh khác nhau và xác định phương pháp và thời điểm chúng bắt buộc tương tác.Ngoàifeaturecác nhánh, nó sử dụng những nhánh cá biệt để chuẩn chỉnh bị, bảo trì và đánh dấu các bạn dạng phát hành.Tất nhiên, chúng ta cũng có thể tận dụng tất cả các tác dụng của Quy trình thao tác làm việc của trụ sở tính năng: yêu cầu kéo, demo nghiệm bóc biệt và cộng tác hiệu quả hơn.

Bắt đầu

Gitflow đích thực chỉ là một ý tưởng trừu tượng của quy trình công việc Git.Điều này tức là nó ra lệnh loại trụ sở nào được cấu hình thiết lập và làm nuốm nào để hợp nhất bọn chúng lại cùng với nhau.Chúng tôi sẽ va vào mục đích của những chi nhánh dưới đây.Bộ pháp luật git-Flow là 1 công cụ chiếc lệnh thực tiễn có quá trình cài đặt.Quá trình cài đặt cho git-Flow rất đối kháng giản.Các gói đến git-Flow gồm sẵn trên những hệ điều hành.Trên các khối hệ thống OSX, bạn cũng có thể thực thibrew install git-flow.Trên windows các bạn sẽ cầntải xuống và cài đặt git-Flow.Sau khi thiết lập git-Flow, chúng ta cũng có thể sử dụng nó trong dự án công trình của mình bằng cách thực thigit flow init.Git-Flow là 1 trình bao bọc xung xung quanh Git.Cácgit flow initlệnh là một trong những phần mở rộng mang địnhgit initlệnh và không gắng đổi bất kể điều gì trong kho của chúng ta khác hơn là tạo nên các trụ sở cho bạn.

Làm cầm nào nó hoạt động

*

Phát triển và cai quản chi nhánh

Thay bởi mộtmasternhánhduy nhất, quy trình các bước này áp dụng hai nhánh để ghi lại lịch sử của dự án.Cácmasterchi nhánh giữ trữ lịch sử vẻ vang phát hành chính thức, và cácdevelopchi nhánh giao hàng như là một trong những chi nhánh tích hợp cho những tính năng.Thật thuận tiện khi thêm thẻ tất cả các khẳng định trongmasterchi nhánh cùng với số phiên bản.

Bước thứ nhất là bổ sung mặc địnhmastervới mộtdevelopnhánh.Một cách dễ dàng để làm điều đó là cho 1 nhà trở nên tân tiến tạo mộtdevelopnhánhtrốngcục bộ và đẩy nó mang đến máy chủ:

git branch developgit push -u origin developChi nhánh này đang chứa cục bộ lịch sử của dự án, trong khi đómastersẽ đựng một phiên phiên bản rút gọn.Các nhà cải cách và phát triển khác hiện tại nên xào luộc kho lưu trữ trung trọng điểm và sản xuất một nhánh theo dõi và quan sát chodevelop.

Khi sử dụng thư viện mở rộng luồng git, thực thigit flow inittrên một repo hiện tại có sẽ khởi tạo radevelopnhánh:

$ git flow initInitialized empty Git repository in ~/project/.git/No branches exist yet. Base branches must be created now.Branch name for production releases: Branch name for "next release" development: How to name your supporting branch prefixes?Feature branches? Release branches? Hotfix branches? Support branches? Version tag prefix? <>$ git branch* developmaster

Chi nhánh tính năng

Mỗi tính năng được cải thiện sẽ phía trong nhánh riêng của nó, có thể đượcđẩy cho kho tàng trữ trung tâmđể sao giữ / cộng tác.Nhưng, thay vì chưng phân nhánhmaster,featurecác nhánh sử dụngdeveloplàm nhánh bà mẹ của chúng.Khi một chức năng hoàn thành, nó đã đượchợp nhất trở về để phát triển.Các nhân tài không bao giờ nên liên can trực tiếp vớimaster.

*

Lưu ý rằngfeaturecác nhánh kết hợp vớidevelopnhánh là, cho tất cả các ý định cùng mục đích, Dòng quá trình Chi nhánh tính năng.Nhưng, Dòng quá trình Gitflow không dừng chân tại đó.

Featurecác nhánh thường xuyên được tạo nên chodevelopnhánhmới nhất.

Tạo một nhánh tính năng

Không gồm phần mở rộng dòng git:

git checkout developgit checkout -b feature_branchKhi áp dụng phần mở rộng dòng git:

git flow feature start feature_branchTiếp tục các bước của các bạn và sử dụng Git như các bạn thường làm.

Xem thêm: Motif Là Gì ? Nghĩa Của Từ Motif Trong Tiếng Việt Motif Là Gì

Hoàn thiện một nhánh tính năng

Khi chúng ta hoàn thành các bước phát triển trên tính năng, bước tiếp sau là thích hợp nhấtfeature_branchvàodevelop.

Không có phần mở rộng dòng git:

git checkout developgit merge feature_branchSử dụng các phần không ngừng mở rộng dòng git:

git flow feature finish feature_branch

Chi nhánh phạt hành

*

Oncedevelophas acquired enough features for a release (or a predetermined release date is approaching), you fork areleasebranch off ofdevelop. Creating this branch starts the next release cycle, so no new features can be added after this point—only bug fixes, documentation generation, and other release-oriented tasks should go in this branch. Once it's ready to ship, thereleasebranch gets merged intomasterand tagged with a version number. In addition, it should be merged back intodevelop, which may have progressed since the release was initiated.

Sử dụng một nhánh chuyên dụng để chuẩn bị các bản phát hành giúp một nhóm hoàn toàn có thể đánh bóng bạn dạng phát hành lúc này trong khi một đội nhóm khác tiếp tục thao tác làm việc với các tính năng cho bạn dạng phát hành tiếp theo.Nó cũng tạo ra các giai đoạn cách tân và phát triển được xác định ví dụ (ví dụ, thật thuận tiện để nói, Tuần này cửa hàng chúng tôi đang chuẩn bị cho phiên bản 4.0, với thực sự thấy nó trong kết cấu của kho lưu trữ).

Làmreleasechi nhánh là một vận động phân nhánh đối chọi giản.Giống nhưfeaturecác chi nhánh,releasecác trụ sở được dựa trêndevelopchi nhánh.Mộtreleasenhánhmớicó thể được tạo bởi các phương pháp sau.

Không bao gồm phần không ngừng mở rộng dòng git:

git checkout developgit checkout -b release/0.1.0Khi sử dụng các phần mở rộng dòng git:

$ git flow release start 0.1.0Switched lớn a new branch 'release/0.1.0'Khi bạn dạng phát hành đã chuẩn bị để xuất xưởng, nó sẽ tiến hành hợp nhất vào đómastervàdevelopsau đóreleasechi nhánh sẽ ảnh hưởng xóa.Điều đặc biệt quan trọng là hợp nhất trở lạidevelopvì các bản cập nhật quan trọng rất có thể đã được thêm vàoreleasechi nhánh với chúng nên được truy vấn vào những tính năng mới.Nếu tổ chức của bạn nhấn mạnh việc xem xét mã, phía trên sẽ là 1 nơi lý tưởng đến yêu ước kéo.

Để chấm dứt mộtreleasenhánh, thực hiện các phương thức sau:

Không có phần mở rộng dòng git:

git checkout developgit merge release/0.1.0Hoặc với phần mở rộng git-Flow:

git checkout mastergit checkout merge release/0.1.0git flow release finish '0.1.0'

Chi nhánh Hotfix

*

Bảo trì hoặc“hotfix”các trụ sở được thực hiện để nhanh chóng vá các bản phát hành sản xuất.Hotfixcác nhánh siêu giống vớireleasecác nhánh vàfeaturecác nhánh không tính chúng dựa trênmasterthay vìdevelop.Đây là chi nhánh duy nhất yêu cầu rẽ nhánh trực tiếpmaster.Ngay sau khi sửa chữa trị xong, nó sẽ tiến hành hợp độc nhất vào cả haimastervàdevelop(hoặcreleasechi nhánhhiện tại) vàmasternên được lắp thẻ cùng với số phiên phiên bản cập nhật.

Việc bao gồm một dòng phát triển chuyên được dùng để sửa lỗi cho phép nhóm của doanh nghiệp giải quyết những vấn đề mà không làm cách trở phần còn lại của quy trình thao tác hoặc chờ đón chu kỳ kiến thiết tiếp theo.Bạn hoàn toàn có thể nghĩ về các chi nhánh gia hạn như cácreleasechi nhánhad hoclàm bài toán trực tiếp vớimaster.Mộthotfixnhánh có thể được tạo bởi các phương pháp sau:

Không gồm phần không ngừng mở rộng dòng git:

git checkout mastergit checkout -b hotfix_branchKhi sử dụng những phần mở rộng dòng git:

$ git flow hotfix start hotfix_branchTương từ bỏ như chấm dứt mộtreleasenhánh, mộthotfixnhánh được hợp duy nhất thành cả haimastervàdevelop.

Xem thêm: Câu Chuyện Ý Nghĩa Về Gia Đình Bạn Nên Đọc 1 Lần Trong Đời, Please Wait

git checkout mastergit merge hotfix_branchgit checkout developgit merge hotfix_branchgit branch -D hotfix_branch$ git flow hotfix finish hotfix_branch

Thí dụ

Một ví dụ hoàn hảo thể hiện dòng nhánh kĩ năng như sau.Giả sử chúng ta có một tùy chỉnh repo cùng với mộtmasterchi nhánh.