Nếu tôi hiểu hoạt động 'đụng phiên bản' của bạn một cách chính xác, sau đó bạn có nghĩa là tăng số phiên bản trong số lượng tệp tùy ý khi bạn bắt đầu bản phát hành với git flow release start x.x.x
, trong đó phiên bản cũng được thể hiện trong thẻ git.
Kể từ khi dòng git gốc từ Driessen bị ngừng, người kế thừa không chính thức có vẻ là Peter van der Có gitflow-avh
(https://github.com/petervanderdoes/gitflow-avh/), có chứa một số lượng lớn các móc dòng chảy git. Xem https://github.com/petervanderdoes/gitflow-avh/tree/develop/hooks để biết danh sách đầy đủ.
tôi đã làm phiên bản chạm vào post-flow-release-start
với kịch bản này chút:
VERSION=$1
# Get rid of version prefix
STRIPPED_VERSION=`echo $VERSION | cut -d'v' -f 2`
sed -i '' -E "s/^([ |#|[:alpha:]]*)\[.*\]$/\1[$STRIPPED_VERSION]/1" ./README.md
sed -i '' -E "s/^([\t| ]*\"version\":)\".*\"/\1\"$STRIPPED_VERSION\"/1" ./package.json
git commit -a -m "version $STRIPPED_VERSION"
exit 0
Nó là một chút cứng nhắc, bởi vì hai tập tin được mã hóa (README.md và package.json). Bạn có thể thực hiện tìm kiếm phiên bản cũ từ thẻ cuối cùng và sau đó repleace nó cho tất cả các tệp được định cấu hình trong vòng lặp.
Cẩn thận:
OSX yêu cầu hậu tố cho sed -i
, bạn có thể sử dụng dấu ngoặc kép trống.Ngoài ra, thông số regex mở rộng cho sed
được đặt tên khác trên Linux.
Đây là một công cụ nhỏ tiện lợi. Cảm ơn bạn – Alex
'bumpversion' dường như đã bị nhà phát triển ban đầu bỏ qua, nhưng có [ngã ba] (https://github.com/c4urself/bump2version) được tích cực duy trì và thêm một số tính năng như thẻ được gắn thẻ. – ostrokach