2012-01-13 37 views
9

Cách tiếp cận tốt để xử lý các bản phát hành phần mềm trên github. Repo của tôi https://github.com/wheresrhys/jQuery-flickbook chứa tất cả các src và xây dựng các tệp cùng với một phiên bản được xây dựng (được rút gọn) của javascript.Quản lý bản phát hành trên github

Nhưng tôi cũng muốn nó, khi tôi chuyển sang bản phát hành phiên bản tiếp theo, để bao gồm một ví dụ jquery.flickbook-0.5.min.js tập tin vào một thư mục phát hành. Với mức độ nào thì điều này có thể được tự động hóa (bằng cách sử dụng các chi nhánh và thẻ kiến ​​và git), hoặc đó là điều tôi sẽ phải thực hiện thủ công?

Trả lời

14

Đây là cách tôi muốn làm điều đó (lưu ý: điều này làm cho các giả định rằng master là "tham khảo" của bạn chi nhánh):

  • khi bạn đã sẵn sàng để phát hành một phiên bản mới, tạo ra một chi nhánh x.y-release trên master và kiểm tra xem nó ra (git checkout -b x.y-release master);
  • thêm phiên bản được rút gọn của bạn, cam kết;
  • tạo thẻ x.y (git tag x.y - bạn muốn xem manpage, bạn cũng có thể tạo "đối tượng thẻ");
  • đẩy thẻ (không phải chi nhánh) (git push theremote --tags hoặc thậm chí git push theremote x.y);
  • khi hoàn tất, hãy chuyển về chế độ chính (git checkout master);
  • loại bỏ chi nhánh phát hành tại địa phương (git branch -D x.y-release) nếu bạn muốn.

Điều này có nghĩa là phiên bản rút gọn không bao giờ thực hiện theo cách của mình vào master nhưng kết thúc trong thẻ, có nghĩa là mọi thứ đều có, vì thẻ là refspec giống như bất kỳ chi nhánh nào.

+0

kể từ khi đăng câu hỏi Tôi đã xem qua bài viết này http://nvie.com/posts/a-successful-git-branching-model/, điều này rất tuyệt, nhưng có thể quá tải cho một plugin đơn giản với một nhà phát triển làm việc trên đó. Có nên thiết lập một nhánh phát triển và cách tiếp cận phiên bản của bạn có thể được điều chỉnh để làm việc với nó không? – wheresrhys

+0

Cho dù bạn muốn/cần chi nhánh phát triển thực sự là tùy thuộc vào bạn. Nó chắc chắn là hữu ích nếu bạn muốn kiểm tra một hoặc nhiều tính năng. Trong mọi trường hợp, bạn có thể sẽ cần một nhánh "tham chiếu", trong đó bạn sẽ hợp nhất các nhánh khác của bạn, nhưng trong mọi trường hợp, mẹo mà tôi đã đưa ra sẽ hoạt động. – fge

+0

Yay - đã hoạt động hoàn hảo. Tôi đã có một thời gian làm cho nó hoạt động mặc dù GIT sẽ không cho phép tôi cam kết thư mục phát hành trống của tôi trong chi nhánh chủ, nhưng cuối cùng tôi đã tìm ra tôi shodul đặt một tập tin .gitignore trong – wheresrhys

Các vấn đề liên quan