Создать удаленный репозиторий на GitHub и поместить конфигурацию в него
страницаЭтот пример демонстрирует создание бесплатного публичного репозитория на сайте github.com и версионирование вашего проекта в этом репозитории.
Примечание: При необходимости можно аналогичным образом использовать приватные платные репозитории на этом же сайте или воспользоваться другими сервисами для создания удаленных репозиториев, например Sourceforge, Google Cloud Source Repositories и другими.
Совет: Предполагается, что у вас в 1C:EDT уже существует проект, который вы разрабатываете. Если нет, то вы можете:
- Либо создать новый проект пустой конфигурации;
- Либо импортировать конфигурацию в новый проект из существующей информационной базы.
Пример состоит из нескольких частей:
- Подключить проект к локальному репозиторию
- Зафиксировать изменения конфигурации
- Зарегистрироваться на сайте GitHub
- Создать удаленный репозиторий на GitHub
- Получить токен доступа
- Отправить ветку в удаленный репозиторий
- Просмотреть историю изменений и отправить изменения в удаленный репозиторий
- Отменить коммиты
Подключить проект к локальному репозиторию
Сейчас вы создадите локальный репозиторий Git на своем компьютере и подключите проект к этому репозиторию. На схеме это выглядит следующим образом:

-
Запустите 1C:EDT или перейдите в нее, если она у вас уже запущена;
-
Убедитесь, что вы находитесь в перспективе 1C:Enterprise. Когда это так, в панели перспектив выделен значок
(1C:Enterprise):
-
Если вы находитесь в другой перспективе, нажмите на этот значок и перейдите в перспективу 1C:Enterprise;
-
Если в панели перспектив нет такого значка, нажмите
> 1C:Enterprise (по умолчанию) > Открыть в панели перспектив;
-
-
Для проекта, который вы хотите поместить в репозиторий, в панели Навигатор нажмите Групповая разработка > Общий проект... в контекстном меню;
-
Задайте основные свойства локального репозитория, который будет располагаться на вашем компьютере:
Предупреждение: Когда вы создаете локальный репозиторий, создавайте его таким образом, чтобы каталог репозитория и рабочая область 1C:EDT не находились в иерархии друг друга. Подробнее об этом читайте здесь.
- В поле Репозиторий укажите каталог, в котором будет размещаться репозиторий;
- Нажмите Готово;

-
1C:EDT переместит ваш проект в каталог репозитория. В результате вы увидите следующие изменения:
-
В контекстном меню Групповая разработка проекта появятся команды работы с репозиторием;

-
Перейдите в перспективу Git, для этого нажмите
> Git > Открыть в панели перспектив;
Здесь в панели Репозитории Git появился ваш локальный репозиторий. В его рабочем каталоге находится структура вашего проекта с файлами:

-
-
В панели перспектив нажмите
(1C:Enterprise) чтобы вернуться обратно в перспективу 1C:Enterprise.
Зафиксировать изменения конфигурации
Сейчас вы создадите первый коммит своего проекта, в результате чего проект окажется в локальном репозитории. На схеме это выглядит следующим образом:

- В панели Навигатор нажмите Групповая разработка > Фиксировать (commit)... в контекстном меню проекта, который вы подключили к локальному репозиторию. Откроется панель Индексирование Git, в поле Неиндексированные изменения будут находиться файлы вашего проекта;
- Создайте коммит:
-
Нажмите
(Добавить все файлы в индекс) в командной панели неиндексированных изменений. Через некоторое время все файлы будут перенесены в поле Индексированные изменения;
-
В поле Сообщение коммита введите комментарий, описывающий суть ваших изменений;

-
Нажмите Фиксировать;
-
- В результате все поля в панели Индексирование Git очистятся, а в панели Навигатор перед именем проекта исчезнет угловая кавычка >. Она говорила о том, что состояние файлов проекта в рабочем каталоге отличается от того, что находится в репозитории (ведь в репозитории ничего не было).
Зарегистрироваться на сайте GitHub
Сейчас вы создадите учетную запись на сайте GitHub. На схеме это выглядит следующим образом:

-
Откройте в браузере страницу github.com;
-
Нажмите Sign up в правом верхнем углу;

-
Введите свой адрес электронной почты и нажмите Continue;

-
Введите свой будущий пароль и нажмите Continue;

-
Введите свое будущее имя пользователя и нажмите Continue;

-
Можете, по желанию, установить флажок, чтобы получать объявления о продуктах и обновления. Нажмите Continue;

-
GitHub попросит вас решить задачу, нажмите Проверить;

-
Расположите предмет нужным образом и нажмите Отправить;

-
Введите проверочный код, высланный вам на электронную почту;

-
Войдите в свою учетную запись: введите имя пользователя, пароль, и нажмите Sign in;

-
Укажите, что работать с репозиторием будете только вы (Just me), и нажмите Continue;

-
Не выбирайте никакие инструменты, а просто нажмите Continue;

-
Нажмите Continue for free чтобы выбрать бесплатный план обслуживания;

-
После этого вы окажетесь на главной странице своего аккаунта в GitHub.

Создать удаленный репозиторий на GitHub
Сейчас вы создадите пустой удаленный репозиторий на сайте GitHub. На схеме это выглядит следующим образом:

-
На главной странице GitHub заполните основные свойства будущего репозитория:
- В поле Repository name введите имя будущего репозитория;
- Установите флажок Public, чтобы все могли видеть ваш репозиторий;
- Нажмите Create a new repository.

-
GitHub создаст репозиторий и откроет его главную страницу;

Получить токен доступа
Сейчас вы на сайте GitHub получите токен доступа. Токен доступа — это как пароль для пользователя, только токен предназначен не для человека, а для программы. Токен доступа будет использовать 1C:EDT для авторизации на GitHub в тех случаях, когда вы отправляете туда изменения своего проекта.
-
На главной странице GitHub откройте меню своего профиля, нажав на иконку в правом верхнем углу экрана;

-
Нажмите Settings в нижней части меню;

-
Пролистайте экран вниз и нажмите Developer settings в левом меню;

-
В левом меню раскройте группу Personal access tokens и нажмите Token (classic);

-
Раскройте список Generate new token и нажмите Generate new token (classic);

-
Возможно GitHub попросит вас авторизоваться еще раз — введите свой пароль и нажмите Confirm;

-
Заполните параметры будущего токена:
- Note — имя токена, которое позволит вам отличать один свой токен от другого;
- Expiration — в учебных целях можете выбрать здесь No expiration, но для реальной работы рекомендуется указывать дату не больше года;
- Select scopes — установите все флажки, чтобы иметь доступ ко всем областям;

-
Пролистайте страницу вниз и нажмите Generate token;

-
Скопируйте полученный токен и сохраните его. Он понадобится вам в качестве пароля, когда вы будете настраивать отправку изменений в удаленный репозиторий;

Отправить ветку в удаленный репозиторий
Сейчас вы настроите связь вашего локального репозитория с удаленным репозиторием на GitHub и первый раз отправите в него свои изменения. На схеме это выглядит следующим образом:

-
Запустите 1C:EDT или перейдите в нее, если она у вас уже запущена;
-
Убедитесь, что вы находитесь в перспективе 1C:Enterprise, в ней у вас с правой стороны осталась открыта панель Индексирование Git. Если ее нет, нажмите Окно > Показать панель > Другое… > Git > Индексирование Git чтобы открыть ее;
-
В нижней части этой панели нажмите Отправить HEAD...;

-
Здесь вам нужно будет заполнить основные свойства вашего удаленного репозитория, расположенного на GitHub:
- URI — путь к репозиторию. Его нужно будет скопировать из GitHub;
- Пользователь — ваше имя пользователя в GitHub;
- Пароль — токен доступа, который вы сохранили на предыдущем шаге;

-
Чтобы узнать путь к репозиторию GitHub, откройте вкладку браузера, на которой вы получали токен;
-
Нажмите значок меню в левом верхнем углу экрана, а затем Home. Вы окажетесь на главной странице;

-
Ваши репозитории перечислены слева, нажмите на свой репозиторий;

-
Убедитесь, что выделен протокол доступа HTTPS и скопируйте адрес репозитория;

-
Перейдите в 1C:EDT, заполните свойства удаленного репозитория и установите флажок Сохранить в защищенном хранилище. Нажмите Далее;

-
На этом экране ничего менять не надо, стандартные настройки удаленного репозитория вас устраивают. Нажмите Далее;

-
1C:EDT попросит вас подтвердить результат отправки: что ваша ветка master будет отправлена в удаленный репозиторий MyProject в его ветку master. Значения флажков, установленные стандартно, вас сейчас устраивают, их менять не надо. Просто нажмите Отправить;

-
За ходом отправки можно наблюдать в правом нижнем углу экрана.

-
Через некоторое время 1C:EDT покажет результат отправки;

-
Все хорошо, в удаленном репозитории создана новая ветка master. Нажмите Закрыть.
На этом настройка связи с удаленным репозиторием и первая отправка изменений завершены.
Просмотреть историю изменений и отправить изменения в удаленный репозиторий
Сейчас вы посмотрите, как выглядит история изменений, хранящихся в локальном и в удаленном репозитории. Также вы посмотрите, как происходит обычная работа с этими репозиториями.
-
Для просмотра изменений в локальном и удаленном репозитории вам понадобится панель История. В панели Навигатор нажмите Групповая разработка > Показать Историю в контекстном меню проекта;
-
Панель откроется во всплывающем режиме в правом верхнем углу экрана, вместе с панелью Ошибки конфигурации. Чтобы она всегда была на виду, разверните эту группу панелей. Для этого нажмите на значок
(Восстановить). Группа панелей зафиксируется в нижней части экрана;
-
Сейчас в панели История есть единственный коммит. Он расположен в локальном репозитории в ветке master. На это указывает зеленый значок. Зеленым цветом 1C:EDT обозначает локальные ветки.

-
Кроме этого видно, что этот же коммит находится в удаленном репозитории в его ветке master. На это указывает серый значок. Серым цветом 1C:EDT обозначает ветки удаленного отслеживания. «origin» — это стандартное имя удаленного репозитория. Оно было задано во время настройки отправки, см. п.9;

-
Чтобы в дальнейшем вам было удобнее наблюдать за изменениями, переключите панель История в режим показа всех изменений репозитория. Для этого раскройте фильтр, расположенный в ее командной панели, и нажмите Все изменения в репозитории;

-
Сейчас вы сделаете несколько тренировочных коммитов, которые в последствии можно будет отменить.
-
Внесите какие-нибудь изменения в конфигурацию (например, добавьте справочник) и зафиксируйте их в локальном репозитории. Посмотрите, как изменится история. Для этого:
- В панели Навигатор нажмите Создать > Справочник > Готово в контекстном меню ветки Справочники;
- Добавьте все файлы в индекс;
- Напишите сообщение коммита;
- Нажмите Фиксировать (см. Зафиксировать изменения конфигурации);
-
Вы видите в панели История, что теперь история вашего локального репозитория разошлась с историей удаленного репозитория. У вас два коммита, последний из них с сообщением «Второй коммит». На это указывает ваша локальная ветка. А в удаленном репозитории по прежнему есть только один, первый коммит.

-
Внесите еще одно изменение, например, аналогичным образом добавьте константу (Создать > Константа > Готово). И зафиксируйте это изменение в локальном репозитории;
-
Теперь вы видите, что история разошлась уже на два коммита, которые есть в вашем локальном репозитории, но которых нет в удаленном.

Кстати, эта же информация отображается и в панели Навигатор в заголовке проекта. Стрелка вверх означает, что у вас есть коммиты, которые еще не отправлены в удаленный репозиторий. Таких коммитов два;

-
Теперь предположим, вы выполнили еще одно изменение проекта и на этом ваша задача завершена. Ее результаты нужно отправить в удаленный репозиторий, чтобы их могли использовать другие разработчики.
Для этого, например, добавьте документ (Создать > Документ > Готово) и в конце нажмите другую кнопку — Фиксировать и отправить...;
-
Через некоторое время вы увидите, что после того, как изменения были зафиксированы в локальном репозитории, 1C:EDT отправила их в удаленный репозиторий и показала результат отправки. Три коммита, которые отсутствовали в удаленном репозитории, отправлены в ветку master.

В результате истории локального и удаленного репозиториев сравнялись. Это видно в панели История: указатели веток показывают на один и тот же последний коммит.
Также, если вы посмотрите на заголовок проекта в панели Навигатор, то увидите, что там пропали значки, обозначающие количество непереданных коммитов.
Отменить коммиты
Второй, третий и четвертый коммиты, созданные в предыдущем разделе, были тестовые. Сейчас вы их отмените так, что история хранилища вернется к началу, когда у вас был единственный первый коммит.
-
В панели История выделите первый коммит;
-
В его контекстном меню нажмите Сброс (reset) > Жестко-hard (HEAD, индекс и рабочий каталог);
-
1C:EDT попросит вас подтвердить это действие — нажмите Сброс;
-
В истории локального репозитория останется только первый коммит. На него будет указывать ветка master;

-
В панели Навигатор, однако, будет видно, что в удаленном репозитории остались три коммита, которые не получены в локальный репозиторий. Это те коммиты, которые вы здесь сбросили: второй, третий и четвертый;

-
Чтобы история удаленного репозитория стала такой-же, как в локальном репозитории, отправьте изменения в удаленный репозиторий. В панели Индексирование Git нажмите Отправить HEAD...;

-
Установите флажок Принудительно перезаписывать ветку в удаленном репозитории, если она существует и разошлась, нажмите Отправить;
ОПАСНО
Используйте этот флажок с большой осторожностью! Обычно Git не позволяет обновлять удаленную ветку, которая не является предком локальной ветки, как в вашем случае. Это сделано для того, чтобы не потерять коммиты удаленного репозитория, которых нет в вашей локальной ветке (например, другие разработчики поместили их в удаленную ветку).
Установка этого флажка снимает эту защиту и позволяет вам перезаписать удаленную ветку тем, что находится в вашей локальной ветке. Это можно делать только в том случае, когда вы точно уверены, что такая перезапись удаленной ветки не повредит ни вам, ни другим разработчикам.

-
1C:EDT сообщит об успешной отправке, а если вы посмотрите на заголовок проекта в панели Навигатор, то увидите, что там пропали значки, обозначающие количество непринятых коммитов.
На уровень выше: Примеры работы