# Git из 1С

> Git из 1С

- GitHub: https://github.com/zerobig/git-1c
- Gitsell page: https://gitsell.ru/zerobig/git-1c
- Visibility: public/free
- GitHub stars: 8
- Gitsell views: 0
- Gitsell downloads: 0

## 1C Configurations

Not specified.

## Pricing

Free or price is not specified.

## README

# 1С Предприятие. Работа с Git репозиторием

## Мотивация

Сначала для одного из проектов мне потребовалась минимальная поддержка работы с Git из 1С Предприятия. Потом выяснилось, что построение графа ни разу не тривиальная задача и народ по этой теме умудряется писать докторские дисертации:

- [Liu Liu](https://www.dolthub.com/blog/2024-08-07-drawing-a-commit-graph/)
- [Pierre Vigier](https://pvigier.github.io/2019/05/06/commit-graph-drawing-algorithms.html)
- [Dan Wentworth](https://www.codebasehq.com/blog/building-commit-graphs)

И я, как всегда, увлёкся.

## Отдльное предупреждение

В этом проекте я не ставлю перед собой цель повторить все команды git. Очень сомневаюсь, что это возможно и, практически уверен, что это не нужно. Я пытаюсь выявить пользовательски паттерны работы с git и уже их переложить на API библиотеки. Если вы не увидели здесь очень нужную для вашего проекта команду git, то всегда можно создать [issue](https://github.com/zerobig/git-1c/issues) или написать самому и предложить [pull request](https://github.com/zerobig/git-1c/pulls)

## Описание

1. Расширение позволяет считывать информацию о логах git репозитория и отображать их в виде графа:
![image](https://github.com/zerobig/git-1c/blob/main/docs/static/screenshot_1.png)

2. Реализован ряд команд git: add, commit, push, branch, checkout, ststus

## Как запустить

Скачать файл с расширением cfe из раздела [Releases](https://github.com/zerobig/git-1c/releases) и установить это расширение в свою базу данных.

## Документация

Начато наполнение [документации](https://zerobig.github.io/git-1c/). Процесс продолжается и, по всей видимости, конца не имеет.

## Идеи по дальнейшему развитию (roadmap)

- [x] чтение логов;
- [x] создание графа коммитов;
- [ ] развитие отображение информации в графе:
  - [ ] теги
  - [ ] ветви
  - [ ] remote ветви
  - [ ] незакоммиченные изменения
- [ ] выполнение основных команд Git:
  - [x] add, commit, push, branch, checkout
  - [ ] pull
  - [ ] stash
- [x] написание тестов
- [x] создание документации

## Благодарности

[1CFilesConverter](https://github.com/arkuznetsov/1CFilesConverter) - давно пользуюсь этими скриптами. Очень помогают.