Feature branch development and continuous integration

Source: Internet
Author: User

Martin Fowler
Recently, I used the distributed version control tool (mercurial/GIT) and wrote a blog post titled "feature branch ".
This article mainly discusses three ways to work after using the distributed version control tool. (I really admire Martin Fowler's ability to sum up .)

 

1. Stacked changes, deferred merger

 

In my opinion, this method does make full use of the flexibility of DVCs, but it is clear that developers who do not like to submit frequently may continue to develop this bad habit.

 

2. Keep the main line of code and frequently submit it to the main line

 

 

 

In this case, you still inherit the centralized version control tool (CVCs) development method. Because DVCs provides a history of local changes for each user, it is easy to use the personal build practice, which improves the development efficiency and the chance of successful build in the Team's continuous integration environment.

 

3.Promiscuous Integration


 

Obviously, in this case, the communication between the two branches is very full, but the communication with the main line is basically one-way communication. Martin Fowler also pointed out that at this time, the developers on the two branches had fully communicated in advance (went out for a drink together )".

 

The second and third types may have no absolute difference between good and bad. For a normal development process, I will select the second one (this is the main method used in the development process of the current cruise team); For Spike, the third method is also good (it is also frequently used by the cruise developers, but it will not last for too long each time, otherwise the large merge problem will occur when merging with mainline ).

 

And,I seriously agree that "Ci is a valid communication tool" unless the development team does not submit it frequently.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.