Работа с git - 1Cv7 ВСД в ГИС Меркурий - КБ99 Redmine

Проект

Общее

Профиль

Работа с git

0. Что такое git? https://git-scm.com/book/ru/v1/

Внесение собственного вклада в проект

1. Установить

Обязательно:
  • GComp = компилирование и декомпилирование ert и MD
  • msysgit = git для Windows
  • activeperl = для запуска скриптов
Рекомендуется:

2. Настроить git.

В командной строке:

git config --global core.quotepath false
git config --global core.autocrlf false
Весь процесс управляется с помощью ini-файлов
  • decompile.ini
  • compile-ert.ini

Предполагается, что рабочий каталог имеет такую структуру:

КаталогИБ
Vetis-IN каталог с измененными ert, которые нужно декомпилировать
Vetis каталог с компилированными ert = итоговый результат
1cv7.md
decompile.bat декомпилировать все обработки и MD
decompile.ini настройки декомпиляции
compile.bat компилировать все обработки и MD
compile-ert.ini настройки компиляции
decompile_ert.js
CompressMetadata.pl скрипт perl для разборки ert - приводит ОбъектыМетаданных.txt и Структура.mdp в усеченный вид, оставляя только необходимый минимум метаданных.
correct_dlg.pl скрипт perl для исправления уползания реквизитов вверх, и сдвигает всё обратно при необходимости

Архив GComp разархивировать, GComp.dll и gcomp.exe - сохранить в c:\windows\system32\ (или добавить в path)
Проверка: в командной строке должен запускаться gcomp.exe

Алгоритм работы

  1. Делаем копию репозитария на github.com
  2. скачиваем на компьютер
    git clone git@github.com:phsin/vetrf.git
  3. cохраняем измененные ert в папку Vetis-IN
  4. декомпилируем
    decompile.bat
  5. проверяем изменения
    gitk
  6. добавляем изменения
    git add .
  7. сохраняем изменения
    git commit -m "описание изменений" 
  8. отправляем изменения на сервер
    git push

Краткое описание команд

  1. сделать локальную копию репозитария
    git clone https://github.com/phsin/vetrf.git
    
  2. получить все изменения из удаленного репозитария
    git pull
    
  3. посмотреть что изменилось?
    git status
    

    или
    gitk
    
  4. добавить все изменения
    git add .
    
  5. записать изменения локально (закомитить)
    git commit -m "описание изменений" 
    
  6. отправить все изменения на сервер
    git push
    
  7. Для удаления файла из git-репозитория без его физического удаления:
    git rm --cached mylogfile.log
    

    Для удаления папки (рекурсивно) можно сделать так:
    git rm -r --cached Vetis
    

    А для того, чтобы ситуация не повторялась, лучше добавьте файл или папку в .gitignore.