Tôi sử dụng nó để bảo trì trang web quan trọng. Tôi là nhà phát triển duy nhất nhưng tôi có một bậc thầy, phát triển và phát hành chi nhánh.
Quá trình làm việc của tôi để thiết lập trang web trông như thế này:
Làm việc chi nhánh tổng thể. Làm cam kết ban đầu.
Thanh toán phát triển chi nhánh. Đừng làm bất cứ điều gì, phát triển các chức năng như một bộ đệm thử nghiệm để hợp nhất thành chủ.
Thanh toán phát hành chi nhánh. Mã hóa vấn đề của bạn, khi nó được thực hiện, kéo nó vào phát triển, xem có vấn đề nào phát sinh không, hợp nhất các xung đột, v.v ... khắc phục những vấn đề đó.
Khi đủ các vấn đề được sáp nhập vào phát triển để phát hành và phát triển đã được kiểm tra tính ổn định, hãy kéo phát triển thành chủ.
Master
|
Develop - E
/ | \ \
A B C D
Bằng cách đó, bạn có được một bộ sưu tập thử nghiệm đầy đủ trong quá trình phát triển, nơi bạn có thể kiểm tra tính ổn định, các vấn đề, v.v ... mà không phải mạo hiểm làm tổn thương Master và phải quay lại cam kết nếu chúng có hại.
Ngoài ra, bằng cách sử dụng các nhánh riêng lẻ để cam kết, bạn có thể "rời bỏ" công việc bạn đã làm, bắt đầu làm mới một thứ khác để khắc phục vấn đề khẩn cấp hơn và giải quyết vấn đề đó sớm hơn.
Trong cuộc sống thực, tôi thường có một nhánh phát hành, và kéo cái đó phát triển và sau đó thành chủ. Đôi khi thật tẻ nhạt, nhưng ít nhất hai tháng một lần tôi phải bỏ công việc xuống mũ vì ai đó có ý tưởng rằng tôi phải tạo RightNow ™ và bằng cách đó tôi có thể nhanh chóng chuyển về trạng thái cơ bản, tạo ra điều đó và sau đó tiếp tục nơi tôi đang ở. Đặc biệt với các dự án lớn mất nhiều tuần, đây là một vị thần mà tôi có thể nhanh chóng chuyển đổi chi nhánh.
Hãy xem xét kịch bản này: Bạn luôn làm việc trên một chi nhánh chính và bạn có AwesomeCodeThing ™ trong các công trình mà lá cành Thạc sĩ của bạn trong phẫu thuật tim mở và một YugeBug ™ bật lên mà cần sửa chữa khẩn cấp khác hàng ngàn người dùng sẽ phàn nàn với bạn về BigProblems ™
Các cách duy nhất để nhanh chóng giải quyết vấn đề của bạn trong một kịch bản như vậy,
- kiểm tra các cam kết trước đó của bạn,
- xem khi nào cam kết ổn định cuối cùng của bạn là (chửi là tùy chọn)
- quay trở lại cam kết đó
- sửa chữa, đẩy sửa chữa ra sản xuất
- giải quyết tất cả các xung đột và sự cố mà bạn hiện đang cố gắng để quay lại trạng thái AwesomeCodeThing ™
- từ bỏ, khóc và bắt đầu công việc. (không bắt buộc)
Nếu bạn sử dụng chi nhánh:
- Thanh toán chính
- tạo chi nhánh UrgentFix ™ và sửa lỗi
- kéo UrgentFix ™ thành chủ
- đẩy mạnh sản xuất
- Hợp nhất chủ để phát triển
- Hợp nhất phát triển thành AwesomeCodeThing ™
- lấy bia và tiếp tục làm việc