Современная и эффективная система контроля версий, написанная на Python.
- 📦 Базовые операции контроля версий (init, add, commit, status)
- 🌳 Ветвление и слияние (branch, checkout, merge)
- 🏷️ Теги для маркировки важных версий
- 🔄 Система хуков для автоматизации
- 📚 Управление подмодулями
- 📝 Стэш для временного сохранения изменений
- 📊 Визуализация структуры репозитория и истории коммитов
- 🌐 Работа с удаленными репозиториями
- 🚫 Система игнорирования файлов
- Python 3.8 или выше
- Graphviz (для визуализации)
pip install hermes-revision-systemwinget install graphvizbrew install graphvizsudo apt-get install graphviz # Debian/Ubuntu
sudo dnf install graphviz # Fedora
sudo pacman -S graphviz # Arch LinuxПосле установки команда hrs станет доступна глобально.
# Инициализация репозитория
hrs init
# Добавление файлов
hrs add <files>
# Создание коммита
hrs commit -m "commit message"
# Просмотр статуса
hrs status
# История коммитов
hrs log# Создание ветки
hrs branch <name>
# Список веток
hrs branches
# Переключение веток
hrs checkout <branch>
# Слияние веток
hrs merge <branch> -m "merge message"
# Удаление ветки
hrs delete-branch <name># Создание тега
hrs tag create <name> -m "message"
# Список тегов
hrs tag list
# Удаление тега
hrs tag delete <name>
# Переключение на тег
hrs tag checkout <name># Сохранение изменений
hrs stash save -m "message"
# Список сохраненных изменений
hrs stash list
# Применение и удаление последнего stash
hrs stash pop
# Применение без удаления
hrs stash apply <index>
# Удаление stash
hrs stash drop <index>
# Очистка всего stash
hrs stash clear# Граф структуры директорий
hrs graph tree output.png # Сохранить в файл
hrs graph tree -c # Вывести в консоль
hrs graph tree -c --ignore "__pycache__" # С игнорированием файлов
# Граф истории коммитов
hrs graph history output.png # Сохранить в файл
hrs graph history -f svg output.svg # В формате SVG
hrs graph history -n 10 output.png # Ограничить количество коммитов# Добавление удаленного репозитория
hrs remote add <name> <url>
# Список удаленных репозиториев
hrs remote list
# Отправка изменений
hrs push <remote> <branch>
# Получение изменений
hrs pull <remote> <branch>
# Загрузка информации
hrs fetch <remote>
# Клонирование репозитория
hrs clone <url> [destination]# Добавление паттерна
hrs ignore add "*.pyc"
# Удаление паттерна
hrs ignore remove "*.pyc"
# Список игнорируемых паттернов
hrs ignore list
# Создание стандартного .hrsignore
hrs ignore init- Клонируйте репозиторий
git clone https://github.com/SomeMedic/hermes-revision-system.git
cd hermes-revision-system- Создайте виртуальное окружение
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows- Установите зависимости для разработки
pip install -e ".[dev]"- Запустите тесты
pytestMIT License. См. файл LICENSE для подробностей.