Если что-то пошло не так (FAQ)
Расписание конвертации включено, но список версий пуст
- Проверьте, что задана константа «Путь к версиям платформы на сервере» и в настройках хранилища указана версия, соответствующая версии сервера хранилища конфигураций «1С:Предприятия».
- Проверьте файл логов log.txt в каталоге выгрузок — там может быть написано что-то вразумительное.
- Проверьте журнал регистрации базы 1С:ГитКонвертера — на наличие ошибок.
Версии обрабатываются, но не коммитятся в Git
- Проверьте, разрешен ли анонимный коммит в Git.
- Проверьте список версий хранилища — красным подсвечиваются версии, для авторов которых не указана контактная информация в регистре «Информация пользователей» .
- Нажмите кнопку «Выполнить коммиты» — для принудительного запуска коммитов обработанных версий в статусе «Метаданные загружены».
Коммиты не появляются на сервере Git
- Адрес Git-сервера был добавлен после создания хранилища? Нужно нажать кнопку «Установить адрес репозитория Git» чтобы настройки появились в config-файле.
- Откройте гит-клиент — проверьте, есть ли коммиты в локальном репозитории.
- Посмотрите лог коммита на Git-сервер, расположенные /каталог выгрузки версий/gi_log_ver_XXX.txt.
- Выполните команду git push -u origin <branch name> в консоли, чтобы проверить push вручную.
- Проверьте права доступа для пользователя, от имени которого запущен сервер «1С:Предприятия» — от его имени выполняется запуск скриптов *.bat/*.sh и глобальные настройки Git для этого пользователя.
В какой-то версии произошел сбой и файлы версии закоммичены не полностью
Т.е. в этой версии часть файлов или все были сначала удалены в репозитории, а следующая версия добавила файлы заново — сквозная история была потеряна:
- Можно установить контроль минимального количества файлов в выгрузке, чтобы такого не случалось в будущем.
- Т.к. это «односторонняя синхронизация» — то можно беспрепятственно откатить изменения git reset —hard <commit> на версию, до проблемной.
- Далее в карточке хранилища установить поле «Версия в Git» на текущую в Git.
- Для всех версий, начиная с «проблемной» и последующих, выполнить команду в контекстном меню «Сбросить состояние».
- В каталоге src удалить файлы DumpFilesIndex.txt и ConfigDumpInfo.xml, т.к. они не хранятся в репозитории и не откатились.
- Проверить что командные файлы *.bat (или *.sh) удалены для всех версий, начиная с проблемной.
- Если была установлена настройка Git-сервера, необходимо на сервере отключить защиту ветки (если есть такое) и выполнить git push -u -f origin <branch name> принудительную передачу данных с заменой репозитория на сервере.
В хранилище версия есть, а в Git она пропущена
- Хранилище конфигураций «1С:Предприятия» позволяет сохранять новую версию без фактического изменения содержимого файлов, если меняется внутренняя версия объекта метаданных. Для Git в этом случае нечего коммитить.
- Откройте файлы логов и убедитесь в том, что версия была обработана корректно.
Файл конфигурации GitConverter находится в каталоге \1CITS\EXE\GitConverter
Что такое Git и зачем он вам нужен?
Git — это распределенная система контроля версий используется для совместной работы и поддержки проектов. Он был создан Линусом Торвальдсом для разработки ядра Linux и позже перенесен на операционные системы MacOS и Windows.
Будучи DVCS, Git не имеет централизованного репозитория. Вместо этого, когда кто-то клонирует репозиторий Git, он полностью отображается на компьютере этого человека вместе с полной историей изменений, когда-либо внесенных в него.
Используя Git, вы можете быстро и эффективно управлять всеми своими проектами и сотрудничать с другими разработчиками в режиме реального времени, не рискуя случайно изменить исходный код (или файлы проекта).
Ниже приведены некоторые из причин, по которым вам нужно использовать Git:
- Это упрощает и ускоряет процесс управления файлами проекта.
- Это позволяет нескольким разработчикам работать над проектом одновременно.
- Это помогает избежать конфликтов кода в проекте с несколькими разработчиками.
- Он отражает репозиторий в том виде, в каком он есть в системе, чтобы вы могли работать независимо — даже в автономном режиме.
- Это позволяет отслеживать изменения, внесенные в файл.
- Он позволяет восстанавливать предыдущие версии файлов в случае ошибочных изменений.
Настройка терминала VS Code в Windows
По умолчанию консоль VS Code в Windows запускает стандартную командную строку Windows, которая не может работать с GIT, чтобы все работало нужно запустить терминал , для этого выполним следующие действия:
- Убедимся, что ранее нами был скачан и установлен git, подробнее данный процесс был описан выше.
- Запускаем Visual Studio Code.
- Зажимаем сочетание клавиш вводим и из выпадающего меню выбираем .
- В параметры поиска вводим и заменяем на (если вы установили git в другую директорию то ссылка будет иметь вид относительно установленной вами директории).
- Перезагружаем Visual Stuio Code
- Открываем терминал и проверяем, что запущен bash терминал
Установка Git
Прежде чем использовать Git, вы должны установить его на своём компьютере.
Даже если он уже установлен, наверное, это хороший повод, чтобы обновиться до последней версии.
Вы можете установить Git из собранного пакета или другого установщика, либо скачать исходный код и скомпилировать его самостоятельно.
Примечание |
В этой книге используется Git версии 2.8.0. |
Установка в Linux
Если вы хотите установить Git под Linux как бинарный пакет, это можно сделать, используя обычный менеджер пакетов вашего дистрибутива.
Если у вас Fedora (или другой похожий дистрибутив, такой как RHEL или CentOS), можно воспользоваться :
Если же у вас дистрибутив, основанный на Debian, например, Ubuntu, попробуйте :
Чтобы воспользоваться дополнительными возможностями, посмотрите инструкцию по установке для нескольких различных разновидностей Unix на сайте Git https://git-scm.com/download/linux.
Установка на Mac
Существует несколько способов установки Git на Mac.
Самый простой — установить Xcode Command Line Tools.
В версии Mavericks (10.9) и выше вы можете добиться этого просто первый раз выполнив ‘git’ в терминале.
Если Git не установлен, вам будет предложено его установить.
Если Вы хотите получить более актуальную версию, то можете воспользоваться бинарным установщиком.
Установщик Git для OS X доступен для скачивания с сайта Git https://git-scm.com/download/mac.
Рисунок 7. OS X инсталлятор Git
Установка в Windows
Для установки Git в Windows также имеется несколько способов.
Официальная сборка доступна для скачивания на официальном сайте Git.
Просто перейдите на страницу https://git-scm.com/download/win, и загрузка запустится автоматически.
Обратите внимание, что это отдельный проект, называемый Git для Windows; для получения дополнительной информации о нём перейдите на https://gitforwindows.org. Для автоматической установки вы можете использовать пакет Git Chocolatey.
Обратите внимание, что пакет Chocolatey поддерживается сообществом
Для автоматической установки вы можете использовать пакет Git Chocolatey.
Обратите внимание, что пакет Chocolatey поддерживается сообществом
Установка из исходников
Многие предпочитают устанавливать Git из исходников, поскольку такой способ позволяет получить самую свежую версию.
Обновление бинарных инсталляторов, как правило, немного отстаёт, хотя в последнее время разница не столь существенна.
Если вы действительно хотите установить Git из исходников, у вас должны быть установлены следующие библиотеки, от которых он зависит: autotools, curl, zlib, openssl, expat, and libiconv.
Например, если в вашей системе используется (Fedora) или (системы на базе Debian), вы можете использовать одну из следующих команд для установки всех зависимостей, используемых для сборки и установки бинарных файлов Git:
Для того, чтобы собрать документацию в различных форматах (doc, html, info), понадобится установить дополнительные зависимости:
Примечание |
Пользователи RHEL и производных от неё (таких как CentOS или Scientific Linux) должны для корректной установки пакета |
Если вы используете систему на базе Debian (Debian/Ubuntu/Ubuntu-производные), вам так же понадобится установить пакет :
Если вы используете систему на базе RPM (Fedora/RHEL/RHEL-производные), вам так же понадобится установить пакет , который уже установлен в системах на базе Debian:
К тому же из-за различий имён бинарных файлов вам понадобится сделать следующее:
Когда все необходимые зависимости установлены, вы можете пойти дальше и скачать самый свежий архив с исходниками из следующих мест:
с сайта Kernel.org https://www.kernel.org/pub/software/scm/git, или зеркала на сайте GitHub https://github.com/git/git/releases.
Конечно, немного проще скачать последнюю версию с сайта GitHub, но на странице kernel.org релизы имеют подписи, если вы хотите проверить, что скачиваете.
Затем скомпилируйте и установите:
После этого вы можете получать обновления Git посредством самого Git:
prev | next
Что такое Git
Определение из Wikipedia
Система управления версиями — определение из Wikipedia
Если мы верстаем или программируем, не используя систему Git, то в нашем распоряжении только тот код, который пишем сейчас.
При использовании системы Git мы запоминаем версии кода на нужных нам этапах. Имеем доступ к ранним версиям. Можем смотреть изменения, которые были сделаны между версиями. Можем отменить изменения до любой из версий.
В статье часто будем использовать термин Git, чтобы проще было понять, представим, что Git это условная “записная книжка”, в которую будем записывать, какие изменения происходят в нашем проекте. Добавили файл — записываем, что файл добавлен. Изменили файл — записываем изменения, которые были сделаны в файле. Удалили файл — записываем что файл был удален. И все эти записи храняться в “записной книжке” Git
Технически Git для проекта — это скрытая папка в папке вашего проекта. Скрытая папка содержит служебные файлы, которые нельзя изменять и удалять
У Git много возможностей, но на данный момент рассматриваем только базовые
Окно «Изменения Git» в Visual Studio 2019
GIT отслеживает изменения файлов в репозитории в процессе работы и разделяет файлы на три категории. Это те же изменения, которые отображаются при вводе команды в командной строке.
- Файлы без изменений: эти файлы не были изменены с момента последней фиксации.
- Измененные файлы: эти файлы изменились с момента последней фиксации, но еще не были подготовлены для следующей фиксации.
- Промежуточные файлы: эти файлы содержат изменения, которые будут добавлены в следующую фиксацию.
В процессе работы Visual Studio отслеживает изменения в файлах проекта в разделе Изменения окна Изменения GIT.
Когда вы будете готовы подготовить изменения, нажмите кнопку + (плюс) для каждого из файлов, которые необходимо подготовить, или щелкните файл правой кнопкой мыши и выберите пункт Промежуточно сохранить. Можно также подготовить все измененные файлы одним щелчком мыши, используя кнопку «Промежуточно сохранить все» ( + ) в верхней части раздела Изменения.
При подготовке изменения Visual Studio создает раздел Подготовленные изменения. Только изменения из раздела Подготовленные изменения добавляются к следующей фиксации, которую можно выполнить, выбрав команду Зафиксировать промежуточные. Эквивалентная команда для этого действия — . Можно также отменить подготовку изменений, нажав кнопку – (минус). Эквивалентная команда для этого действия — для отмены размещения одного файла или для отмены размещения всех файлов в каталоге.
Кроме того, можно отказаться от подготовки измененных файлов, пропустив область подготовки. В этом случае Visual Studio позволяет зафиксировать изменения напрямую без предварительной подготовки. Просто введите сообщение о фиксации и выберите Зафиксировать все. Эквивалентная команда для этого действия — .
Visual Studio также позволяет выполнить фиксацию и синхронизацию одним щелчком мыши с помощью ярлыков Зафиксировать все и отправить и Зафиксировать все и синхронизировать. Если дважды щелкнуть любой файл в разделе Изменения или Подготовленные изменения, то можно построчно сравнить измененную версию файла с неизмененной.
Dica
Если вы подключены к репозиторию Azure DevOps, вы можете связать рабочий элемент Azure DevOps с фиксацией, используя символ #. Чтобы подключить репозиторий Azure DevOps, выберите Team Explorer > Управление подключениями.
Выбор существующей ветви в Visual Studio 2019
В Visual Studio текущая ветвь отображается в селекторе в верхней части окна Изменения GIT.
Текущая ветвь также доступна в строке состояния в правом нижнем углу интегрированной среды разработки Visual Studio.
В обоих местах можно переключаться между имеющимися ветвями.
Создание новой ветви в Visual Studio 2019
Можно также создать новую ветвь. Эквивалентная команда для этого действия — .
Чтобы создать ветвь, достаточно ввести ее имя и указать существующую ветвь, на основе которой будет создана данная.
В качестве базовой можно выбрать существующую локальную или удаленную ветвь. Если флажок Извлечь ветвь установлен, вы автоматически переключитесь на новую ветвь после ее создания. Эквивалентная команда для этого действия — .
Настройка окружения
Для начала необходимо настроить окружение. Как правило, это не надо трогать
os: linux # ОС sudo: required # Необходимость прав sudo language: "minimal" # Языковой шаблон services: - docker # Необходимые сервисы env: # Based on Ubuntu 18.04 # GCC 7.3 # clang 7 # CMake 3.10 # gcovr # jscpd # cpplint - DOCKER_IMAGE="rusdevops/bootstrap:cpp" # Используется по умолчанию # Based on Alpine 3.10 # GCC 8.3 # CMake 3.14 # gcovr # jscpd # valgrind # Hunter GTest v1.8.0 (cached) # Hunter Boost cached components: exception # filesystem # log # regex # system # - DOCKER_IMAGE="toliak/bootstrap-cpp" # Для использования снять комментарий before_script: - docker pull $DOCKER_IMAGE # Предварительное скачивание образа
Сборка приложения
Чтобы собрать приложение, мы должны следовать инструкциям в репозитории GitHub. Иногда мы запускаем определенный файл оболочки, а другие — make. Инструкции по сборке, которым мы следуем, говорят нам запустить make.
Утилита make читает и выполняет набор инструкций из make-файла. Эти инструкции говорят make, как скомпилировать программу и связать ее вместе. make передает инструкции компилятору и другим инструментам сборки.
Команда, которую нам предлагают использовать, вызовет make дважды. Первый вызов make создает приложение, а второй запускает набор тестов.
Команда, которую нам сказали использовать инструкции по сборке:
make && make test
Многие строки вывода быстро прокручиваются в окне терминала. Примерно через минуту вы вернетесь в командную строку.
Конфигурация для использования GitHub
Чтобы хранить свой проект в GitHub, надо ещё немного покопаться с настройкой Нам понадобится пара ключей SSH. Открываем консоль Git bash, всё равно где. В msysgit процесс генерации пары ключей упрощён почти до предела. Делаем:
ssh-keygen -t rsa -C "ваш[email protected]"
У Вас спросят куда положить ключи (не потеряйте их, лучше выбрать предлагаемое программой место), дважды спросят пароль (passphrase). Пароль должен быть сложным. После этого Вы получите два файла и RSA fingerprint примерно такого вида:
e8:ae:60:8f:38:c2:98:1d:6d:84:60:8c:9e:dd:47:81 [email protected]
Теперь идём и регистрируемся на Гитхабе, в бесплатном варианте.
В поле SSH Public Key вставляем содержимое файла id_rsa.pub, или как Вы его там назвали при создании ключей. Если Вы создали ключи в своей папке пользователя, ssh самостоятельно его найдёт. Иначе, надо будет добавить ключи вручную:
ssh-add <путь к файлу ключей>
Завершаем регистрацию. Теперь можно уже проверить что получилось. В простой командной строке подключаемся к серверам github:
ssh github.com
В ответ должно прийти:
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
Это значит что всё в порядке.
Если Вы видите No supported authentication methods available, значит Git не может найти программу, способную достучаться до сервера Гитхаба. Строка вызова используемой программы хранится в переменной GIT_SSH. Чтобы использовать программу ssh (самый простой способ), надо сделать в командной строке:
set GIT_SSH=ssh
Имейте в виду, после перезагрузки эта переменная вернётся в начальное состояние.
Скачивание из определенной ветки
В GitHub repository может иметь несколько веток . Каждая ветка имеет уникальное имя и состоит из набора изменений кода. Это копия определенной части кода в определенный момент времени, в которую вы можете вносить изменения, не разрушая оригинал.
Изменения кода вносятся внутри веток, а затем, если они запрошены и одобрены, могут быть объединены обратно в основную рабочую версию проекта, называемую главной ветвью .
Представим, что вы хотите загружать и просматривать файлы из определенной ветки проекта на GitHub. Для этого выполните следующие действия:
- Найдите проект по имени и перейдите на домашнюю страницу repository проекта.
- Найдите ветку выпадающее меню и выберите филиал, который вы хотите загрузить. Обычно ветвь Master содержит самый последний код, но не всегда.
- Теперь, когда вы выбрали нужную ветку, найдите и нажмите зеленую кнопку «Код», выбрав либо «Загрузить архив», либо, если вы видите этот вариант, «Открыть с помощью Visual Studio». (Вы также можете увидеть вариант «Открыть с помощью GitHub Desktop»).
- Извлеките zip-файл и откройте извлеченную папку из Visual Studio Code, выполнив шаги 7–11 в разделе выше.
Выполнив описанные выше действия, вы можете просмотреть код из определенной ветки проекта на GitHub. Далее мы обсудим, как еще глубже изучить и загрузить файлы из определенного commit.
Настройка файла конфигурации Git
Чтобы настроить файл конфигурации Git, откройте командную строку, в которой вы работаете, и задайте свое имя с помощью этой команды (заменив «Ваше имя» на предпочитаемое имя пользователя):
Совет
если у вас еще нет учетной записи GitHub, вы можете зарегистрироваться на нее GitHub. Если вы никогда не использовали Git, обратитесь к руководствам по GitHub. Они помогут вам приступить к работе. Если вам нужно изменить конфигурацию Git, это можно сделать с помощью встроенного текстового редактора, например Nano: .
Рекомендуется защитить учетную запись с помощью двухфакторной проверки подлинности (2FA).
Установка Git под Linux
Для установки Git под Linux, также необходимо зайти на сайт https://git-scm.com/ и перейти в раздел Downloads. В зависимости от используемой вами версии операционной системы Linux необходимо выбрать тот или иной способ установки Git.
Debian/Ubuntu
> apt-get install git
Fedora(Fedora 21)
> yum install git
(Fedora 22)
> dnf install git
Gentoo
> emerge --ask --verbose dev-vcs/git
Arch Linux
> pacman -S git
openSUSE
> zypper install git
Mageia
> urpmi git
FreeBSD
> pkg install git
Solaris 9/10/11 (OpenCSW)
> pkgutil -i git
Solaris 11 Express
> pkg install developer/versioning/git
OpenBSD
> pkg_add git
Alpine
> apk add git
Установка и настройка
Итак, установка git. Сразу оговорюсь что мы будем ставить msysgit, и заодно произведём необходимые действия для подключения к GitHub. Конечно, можно использовать git и в одиночку, для себя — но здесь, как и с играми, в онлайне намного интереснее
Идём на страницу git, в раздел Download и ищем там msysgit для Windows. Сайт git отправляет нас на Google Code. Берём Full Installer for official Git.
Запускаем, устанавливаем. При установке будет предложено выбрать тип запуска Git:
- Git bash only: git ставится и вызывается командой контекстного меню «Git bash here»/»Git gui here»
- Run from the Windows command prompt: Устанавливает Git и прописывает путь к консольной версии в PATH. Команду ‘Git Bash here’ всё равно можно использовать.
- Run Git and tools from Windows Command Prompt: то же что предыдущий вариант, но дополнительно прописывает в Windows путь к различным Unix-утилитам типа find и sort. Git предупреждает нас что при этом вместо windows-приложений с соответствующими именами будут вызываться unix-аналоги
Я предпочитаю второй вариант, т.к. использую git исключительно из командной строки. Так что это руководство будет по большей части консольным
Продолжаем установку. В конце git предложит просмотреть файл примечаний к релизу. Собственно, на этом установка заканчивается Теперь идём в командную строку (если Вы выбрали этот вариант) и вводим свои данные в git, чтобы он нормально подписывал коммиты.
git config --global user.name "Ваше имя" $ git config --global user.email "ваш[email protected]"
cd my_repo git config user.name "Ваш ник" $ git config user.email "другой[email protected]"
Кстати, создаётся репозиторий командой git init в нужной папке. Всё, git можно пользоваться в локальном режиме
Давайте теперь что нибудь утянем с Github. Идём туда, делаем поиск или Explore Github, открываем понравившийся проект. Прямо под названием проекта будет Clone URL:
Жмём, копируем команду. Получится примерно что то такое:
git clone git://github.com/quickredfox/jquery-builds.git
Переходим в каталог куда мы хотим положить проект, и выполняем команду. Имейте в виду, git создаст для проекта каталог чтобы его туда положить. То есть, если мы выполним эту команду в D:\Source, проект будет в папке D:\Source\jquery-builds.
Система контроля версий Git
Для начала определим, что такое система контроля версий.
Так называют программу, которая позволяет хранить разные версии одного и того же документа, легко переключаться между ранними и поздними вариантами, вносить и отслеживать изменения.
Систем контроля версий много и все они работают по принципу компьютерной игры, где вы можете вернуться к месту сохранения, если что-то пошло не так.
Одна из самых популярных систем называется Git. Её отличие от других программ — отсутствие графической версии. Поэтому работа с Git ведётся через командную строку. В разных операционных системах свои программы для взаимодействия с Git.
В Windows их две: PowerShell и cmd.exe. В Ubuntu это Terminal. Самая популярная программа на macOS тоже называется Terminal. Если вам не подходит встроенная в систему программа для работы с командной строкой, вы можете поставить свою. Например, написанную на JavaScript программу Hyper, которая работает на любой операционной системе. На Windows популярны программы Cmder и Git Bash, а на macOS — iTerm.
В мире разработки такие программы называют «терминал» или «консоль». А работает это так: мы вводим команду и получаем реакцию машины: сообщение об ошибке, запрос на подтверждение информации, результат выполненных действий.
Git — важный навык веб-разработчика
А лучший способ научиться программировать — профессия «React-разработчик». В программе три интенсива, прокачка навыков и оплачиваемая стажировка.
Устанавливаем Git
Если раньше вы не работали с Git, сперва его нужно установить. Способы зависят от операционной системы вашего компьютера.
Установка в Linux
Используйте обычный менеджер пакетов вашего дистрибутива. Откройте терминал и введите подходящие команды.
Полный список команд для различных дистрибутивов можно посмотреть здесь.
Установка в Windows
Скачайте exe-файл инсталлятора с сайта Git и запустите его. Это Git для Windows, он называется msysGit. Установщик спросит добавлять ли в меню проводника возможность запуска файлов с помощью Git Bash (консольная версия) и GUI (графическая версия). Подтвердите действие, чтобы далее вести работу через консоль в Git Bash. Остальные пункты можно оставить по умолчанию.
Проверим, что Git установлен
После того как Git появился на компьютере, нужно ввести свои данные, а именно имя и адрес электронной почты. Ваши действия в Git будут содержать эту информацию.