Sản phẩm của tôi là một plugin cho IntelliJ. Tôi hỗ trợ một số phiên bản của nền tảng IntelliJ cơ bản và phát hành các bản dựng plugin của tôi cho mỗi phiên bản vì API của chúng thường thay đổi giữa các phiên bản. Nó chỉ là tôi làm việc trên nó, vì vậy tôi phát triển trong chủ và sau đó duy trì một chi nhánh cho mỗi phiên bản khác. Vì vậy, repo của tôi trông như thế này:Tìm các cam kết hợp nhất từ thẻ trên các chi nhánh trong git
1.6.0 1.6.1-eap1
.... a---b---c--- master
\ \
d-------e--- idea-2017.1
\ \
f-------g--- idea-2016.3
\ \
... ... etc etc
a
là một phát hành ổn định, và được gắn thẻ với 1.6.0
. c
là bản phát hành EAP (beta) và đã được gắn thẻ với 1.6.1-eap1
. Chương trình này hoạt động tốt cho hai trường hợp này.
Thỉnh thoảng tôi muốn tạo một công trình xây dựng không đi vào kênh phát hành nhưng người dùng có thể tải xuống theo cách thủ công và kiểm tra xem họ có thích hay không. Tôi muốn tạo một bản dựng dev cho mỗi nền tảng, vì người dùng dev có thể sử dụng bất kỳ phiên bản IntelliJ nào. Cách tốt nhất mà tôi có thể nghĩ đến là tạo một chi nhánh để xây dựng nhà phát triển từ, giả sử, gắn thẻ 1.6.0
(cam kết a
) và sau đó tương ứng với các chi nhánh từ cam kết d
, f
và như vậy tôi có thể hợp nhất chi nhánh dev vào và tạo dev xây dựng từ.
Giả sử tôi muốn viết kịch bản để tạo và duy trì các chi nhánh này, làm cách nào tôi có thể tìm thấy các cam kết d
, f
và cứ như vậy từ thẻ 1.6.0
để tạo chi nhánh xây dựng nhà phát triển?
Bạn không muốn sử dụng phiên bản mới nhất cho mỗi phiên bản IntelliJ làm cơ sở cho chi nhánh nhà phát triển của bạn? I E. sử dụng c, e và g thay vì a, d và f. Tôi sẽ nghĩ rằng những bản sửa lỗi này chứa các bản sửa lỗi mới nhất cho mỗi phiên bản và là cơ sở tốt hơn để thử nghiệm phát triển mới. – lucash
Chắc chắn, điều đó là có thể, nhưng vấn đề là như nhau - với thẻ '1.6.1-eap1', làm cách nào để tìm các cam kết 'e',' g' vv Về cơ bản, tôi muốn có thể tạo ra các chi nhánh từ bất kỳ bản sửa đổi được gắn thẻ nào, được đảm bảo hợp nhất các cam kết sáp nhập vào mỗi phiên bản chi nhánh. – Colin