Skip to content

SomeMedic/hermes-revision-system

Repository files navigation

HRS - Hermes Revision System

Современная и эффективная система контроля версий, написанная на Python.

PyPI version Python Version License: MIT

Возможности

  • 📦 Базовые операции контроля версий (init, add, commit, status)
  • 🌳 Ветвление и слияние (branch, checkout, merge)
  • 🏷️ Теги для маркировки важных версий
  • 🔄 Система хуков для автоматизации
  • 📚 Управление подмодулями
  • 📝 Стэш для временного сохранения изменений
  • 📊 Визуализация структуры репозитория и истории коммитов
  • 🌐 Работа с удаленными репозиториями
  • 🚫 Система игнорирования файлов

Требования

  • Python 3.8 или выше
  • Graphviz (для визуализации)

Установка

Через pip

pip install hermes-revision-system

Установка Graphviz

Windows

winget install graphviz

macOS

brew install graphviz

Linux

sudo 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>

Временное хранилище (stash)

# Сохранение изменений
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

Разработка

  1. Клонируйте репозиторий
git clone https://github.com/SomeMedic/hermes-revision-system.git
cd hermes-revision-system
  1. Создайте виртуальное окружение
python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate     # Windows
  1. Установите зависимости для разработки
pip install -e ".[dev]"
  1. Запустите тесты
pytest

Лицензия

MIT License. См. файл LICENSE для подробностей.

About

Современная и эффективная система контроля версий, написанная на Python.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages