Работа с git¶
0. Что такое git? https://git-scm.com/book/ru/v1/¶
Внесение собственного вклада в проект
1. Установить¶
Обязательно:- GComp = компилирование и декомпилирование ert и MD
- msysgit = git для Windows
- activeperl = для запуска скриптов
- TortoiseGit = визуальная оболочка git для Windows
- KDiff3 = удобное сравнение изменений, отличий в файлах
- Meld для сравнения содержимого текстовых файлов или каталогов = https://stackoverflow.com/questions/137102/whats-the-best-visual-merge-tool-for-git
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
Алгоритм работы¶
- Делаем копию репозитария на github.com
- скачиваем на компьютер
git clone git@github.com:phsin/vetrf.git
- cохраняем измененные ert в папку Vetis-IN
- декомпилируем
decompile.bat
- проверяем изменения
gitk
- добавляем изменения
git add .
- сохраняем изменения
git commit -m "описание изменений"
- отправляем изменения на сервер
git push
Краткое описание команд¶
- сделать локальную копию репозитария
git clone https://github.com/phsin/vetrf.git
- получить все изменения из удаленного репозитария
git pull
- посмотреть что изменилось?
git status
илиgitk
- добавить все изменения
git add .
- записать изменения локально (закомитить)
git commit -m "описание изменений"
- отправить все изменения на сервер
git push
- Для удаления файла из git-репозитория без его физического удаления:
git rm --cached mylogfile.log
Для удаления папки (рекурсивно) можно сделать так:git rm -r --cached Vetis
А для того, чтобы ситуация не повторялась, лучше добавьте файл или папку в .gitignore.