_____ __
/ _ / __ __ ____ ___ ____ _____ / /_ ___ _____
/ __ |/ / / // __ `__ \ / __ \ / ___// __// _ \ / ___/
/ /_/ // /_/ // / / / / // /_/ /(__ )/ /_ / ___// /
/_____/ \__,_//_/ /_/ /_// .___//____/ \__/ \___//_/
/_/
Bumpster — это мощная утилита для автоматизации управления семантическими версиями. Название объединяет слова "bump" и "buster", подчеркивая способность утилиты быстро и эффективно обновлять версии ваших проектов.
- Поддержка автоматического обновления версий для major, minor и patch изменений.
- Бесшовная работа с Git для управления релизами без необходимости использовать
git-flow
. - Настраиваемые имена веток для
master
иdevelop
. - Создание и закрытие feature-веток с настраиваемым поведением.
- Локальные и глобальные конфигурационные файлы для гибкости.
- Опциональное логирование всех операций.
- Минимальный след: устанавливается в
~/.bumpster
. - Легкое удаление: достаточно удалить директорию
.bumpster
. - Кроссплатформенная совместимость (Linux, macOS и Git Bash на Windows).
- Поддержка опциональной синхронизации файла
VERSION
сpackage.json
.
Установить Bumpster можно одной командой:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/phoenixweiss/Bumpster/main/install.sh)"
Утилита будет установлена в домашней директории под ~/.bumpster
.
После установки добавьте Bumpster в PATH:
echo 'export PATH="$HOME/.bumpster/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Для Git Bash на Windows:
echo 'export PATH="$HOME/.bumpster/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
Обновление major-версии:
bumpster --major
# или
bump -M
Обновление minor-версии:
bumpster --minor
# или
bump -m
Обновление patch-версии:
bumpster --patch
# или
bump -p
Bumpster поддерживает опциональную синхронизацию между файлом VERSION
и package.json
. При включённой опции обновление версии через bump
автоматически синхронизирует версию в package.json
. Если package.json
не найден, операция пропускается с записью в лог.
Пример настройки:
SYNC_WITH_PACKAGE_JSON="true"
Пример использования:
-
VERSION
обновлён до1.0.0
-
package.json
обновлён с той же версией:{ "version": "1.0.0" }
Чтобы отобразить текущую версию Bumpster:
bumpster --version
# или
bump -v
Для справки и просмотра доступных опций:
bumpster --help
# или
bump -h
Обновить Bumpster до последней версии:
bumpster --update
# или
bump -u
Вы можете задать свои имена веток через конфигурационный файл или переменные окружения. Имена веток по умолчанию: main
и dev
.
Пример конфигурации в .bumpsterrc
:
# ~/.bumpsterrc или ./project/.bumpsterrc
GIT_MASTER_BRANCH="main"
GIT_DEVELOP_BRANCH="dev"
...
Эта опция позволяет указать ветку, на которую следует переключиться после повышения версии. По умолчанию переключается на основную ветку. Если указанная ветка не существует, возвращается к ветке по умолчанию.
Пример:
AFTER_BUMP_BRANCH="dev"
Чтобы проверить текущее состояние репозитория:
bumpster --status
# или
bump -s
Вывод включает:
- Текущую ветку.
- Количество незакоммиченных изменений.
- Количество непушенных коммитов.
Сгенерировать локальный конфигурационный файл .bumpsterrc
для проекта:
bumpster --create-local-config
# или
bump -l
Утилита проведет вас через интерактивный процесс настройки.
Создать feature-ветку:
bumpster --create-feature
# или
bump -f
Закрыть текущую feature-ветку:
bumpster --close-feature
# или
bump -c
При закрытии feature-ветки изменения сливаются в ветку разработки, а feature-ветка может быть удалена в зависимости от настроек.
Bumpster использует конфигурационные файлы (.bumpsterrc
) для настройки своего поведения. Поддерживаются два типа конфигурационных файлов:
- Глобальная конфигурация: находится в
~/.bumpsterrc
. - Локальная конфигурация: находится в директории проекта (
./.bumpsterrc
). Локальные настройки имеют приоритет над глобальными.
# ~/.bumpsterrc или ./project/.bumpsterrc
GIT_MASTER_BRANCH="main"
GIT_DEVELOP_BRANCH="dev"
ENABLE_LOGGING="true"
LOG_FILE="bumpster.log"
DELETE_FEATURE_BRANCH_AFTER_MERGE="false"
ASK_BEFORE_DELETING_FEATURE_BRANCH="true"
SYNC_WITH_PACKAGE_JSON="true"
AFTER_BUMP_BRANCH="dev"
Перед использованием Bumpster убедитесь, что репозиторий Git инициализирован.
Для полного удаления Bumpster удалите директорию ~/.bumpster
:
rm -rf ~/.bumpster
Создатель и поддерживающий разработчик: PAVEL TKACHEV (phoenixweiss).
Bumpster является программным обеспечением с открытым исходным кодом и распространяется по лицензии MIT.