Как писать понятные коммиты

Публикация № 1016001 06.03.19

Разработка - Групповая разработка (Git, хранилище)

Коммит git commitizen

Как писать сообщения коммитов так, чтобы потом не было мучительно больно.

Использование git для 1с.

В своей работе я часто использую git для контроля версий продукта. Очень много времени и статей уделяется различным практикам работы с git: как именовать ветки, какое ветвление использовать, merge или rebase… Но мало внимания уделяют сообщениям коммитов. А ведь это основа – история разработки. Отсутствие соглашений о сообщениях затрудняет совместную работу.

 

Эволюция сообщений коммита.

Сначала коммиты у нас  были вот такими:

Как видно, понять, что было сделано, зачем, на что это может повлиять – практически невозможно. Разбор полетов занимает много времени.

Потом чуть-чуть подумали, договорились. Стало лучше.

Более подробное описание и ссылка на задачу.

Но на просторах github встречались такие коммиты

И описания для контрибьютеров.

Такие правила называются «Conventional Commits».

 

Conventional Commits

Подробно описано вот здесь https://www.conventionalcommits.org/ru/v1.0.0-beta.2/

Коротко: каждое сообщение коммита должно содержать:

  • указание на тип доработки;
  • опциально указать изменяемую область;
  • краткое описание коммита;
  • опциально подробное описание;
  • опциально номер решаемой задачи.

По такой истории сообщений можно автоматически генерировать CHANGELOG, для этого есть много библиотек. В том числе на OScript https://github.com/oscript-library/changelog-generate

 

Проблемы

Идея отличная. Проблема только в следовании схеме. Конечно, какие блоки использовать и как писать указано в документации к репозиторию. Но иногда забывается что именно писать. В одно проекте договорились писать feat, в другом feature; в каждом проекте свои блоки. Поэтому решили поискать пути автоматизации.

Commitizen

Нашелся классный пакет для node-js - commitizen. Он использует дополнительный пакет cz- customizable для вызова удобной формы ввода сообщения. А настройки соглашений хранит прямо в репозитории.

 

Установка и настройка

На компьютере должен быть установлен Node-js и npm. Через npm устанавливаем два пакета

npm install -g commitizen
npm install -g cz- customizable

Теперь надо сделать пару простых настроек.

Настроить package.

В корне репозитория добавляем файл package.json со следующим содержимым

{
	"config": {
		"commitizen": {
			"path": "cz-customizable"
		},
		"cz-customizable": {
			"config": "tools/js/commitizen.js"
		}
	},
	"devDependencies": {
		"cz-customizable": "^5.3.0"
	}
}

 

В папке tools создаем файл commitizen.js,  в котором описываем настройки договоренностей. Например, так:

"use strict";

module.exports = {
  // Добавим описание на русском языке ко всем типам
  types: [
    { value: "feature", name: "feature:   Добавление нового функционала" },
    { value: "fix", name: "fix:       Исправление ошибок" },
    { value: "docs", name: "docs:      Обновление документации" },
    { value: "test", name: "test:      Добавление тестов" },
    {
      value: "refactor",
      name:
        "refactor:  Правки кода без исправления ошибок или добавления новых функций"
    },
    {
      value: "perf",
      name: "perf:      Изменения направленные на улучшение производительности"
    },
    {
      value: "style",
      name:
        "style:     Правки по кодстайлу (табы, отступы, точки, запятые и т.д.)"
    },
    {
      value: "build",
      name: "build:     Сборка проекта или изменения внешних зависимостей"
    },
    { value: "ci", name: "ci:        Настройка CI и работа со скриптами" },
    { value: "revert", name: "revert:    Откат на предыдущие коммиты" }
  ],

  // Область. Она характеризует фрагмент кода, которую затронули изменения
  scopes: [
    { name: "Кэш" },
    { name: "ФормаОсновная" },
    { name: "Валидация" },
    { name: "АвтоматическоеТестирование"},
    { name: "Отчеты" },
    { name: "ПервыйЗапуск" },
    { name: "ЗащитаМодуля" },
    { name: "ТребованияКПроизводительности" },
    { name: "ХранениеДанных" },
    { name: "API" }
  ],

  // Возможность задать спец ОБЛАСТЬ для определенного типа коммита (пример для 'fix')
  /*
  scopeOverrides: {
    fix: [
      {name: 'style'},
      {name: 'e2eTest'},
      {name: 'unitTest'}
    ]
  },
  */

  // Поменяем дефолтные вопросы
  messages: {
    type: "Какие изменения вы вносите?",
    scope: "\nВыберите ОБЛАСТЬ, которую вы изменили (опционально):",
    // Спросим если allowCustomScopes в true
    customScope: "Укажите свою ОБЛАСТЬ:",
    subject: "Напишите КОРОТКОЕ описание:\n",
    body:
      'Напишите ПОДРОБНОЕ описание (опционально). Используйте "|" для новой строки:\n',
    breaking: "Список BREAKING CHANGES (опционально):\n",
    footer:
      "Место для мета данных (тикетов, ссылок и остального). Например: SECRETMRKT-700, SECRETMRKT-800:\n",
    confirmCommit: "Вас устраивает получившийся коммит?"
  },

  // Разрешим собственную ОБЛАСТЬ
  allowCustomScopes: true,

  // Запрет на Breaking Changes
  allowBreakingChanges: false,

  // Префикс для нижнего колонтитула
  footerPrefix: "YT:",

  // limit subject length
  subjectLimit: 72
};

В блоке types описываем префиксы изменений: feature, fix и т.д.

В блоке scope описываем блоки, с которыми будем работать. Есть возможность оставить пустым или указать собственный блок.

В поле footerPrefix можно задать префикс для системы учета задач.

В subjectLimit задается ограничение на длину короткого коммита. Часто звучит ограничение, что описание должно содержать глагол в повелительном наклонении, но у меня ни разу не получилось так написать.

При установке cz-customizable создается alias для гита: git cz. Индексируем изменения и выполним команду. Тогда откроется окно для ввода описания:

После выбор типа изменений:

Если нужна своя область

Описание коммита

Указываем номер задачи

В конце будет показан итоговый вид сообщения коммита. Можно отказаться или отредактировать.

Соглашаемся и смотрим что получилось.

Лайфхаки

Пара лайфхаков, которые я используются в работе.

Автодокументация

Мы создали документацию проекта на markdown. Разбили ее на значимые блоки. Добавили commit-msg hook(действие в гит, после изменения сообщения коммита) – сообщение коммита добавляется в историю изменений конкретного блока.

Smartgit

Перешли с SourceTree на SmartGIT. Главной киллфичей являлось то, что на дополнительные действия можно назначать хоткеи. Я добавил себе привычную комбинацию Ctrl-Shift-C и быстро вызываю окно для ввода сообщения коммита.

После всего недели использования, я уже не мог понять – как раньше жил без такого удобного инструмента. Более того, даже если в проекте не настроен commitizen, я руками завожу аналогичное вида сообщение.

Удачных всем коммитов.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. infosoft-v 728 06.03.19 08:42 Сейчас в теме
Спасибо за подробное описание удобного инструмента.

ps. В последнем подкасте Радио-Т в темах слушателей обсуждался именно этот вопрос. Выводы к которому пришли ведущие: "не так важнО описание коммита как атомарность содержимого коммита" Посыл такой: по дифам можно понять кто и что сделал в интересах какой задачи но для этого коммит должен содержать только изменения конкретной задачи. Плохая практика, по мнению ведущих, решить задачу и поправить еще что то, не относящееся к задаче в одном коммите.
starik-2005; alur; gradi; shalimski; supermacho; +5 1 Ответить
2. Scorpion4eg 412 06.03.19 09:08 Сейчас в теме
(1)
Плохая практика, по мнению ведущих, решить задачу и поправить еще что то, не относящееся к задаче в одном коммите.

Согласен.
Для себя давно выработал стратегию коммитов:
1. Или закончил функционал.
2. Или сделанные изменения возможно придется откатить.

Но все равно бывает что-то да подмахну) Особенно когда видишь что вот этот кусок надо исправить. И чтобы не выходить из контекста - приходится исправлять.

Была бы возможность работать только в исходниках - нет проблем. Сделал прямо сейчас отдельную ветку, исправил то, что попалось на глаза. А дальше черрипикнул в рабочую ветку и дальше пилить фичу. Но с 1с пока такой трюк не проходит. У нас, по крайней мере.
3. ArchLord42 82 06.03.19 10:44 Сейчас в теме
(2)
Но с 1с пока такой трюк не проходит. У нас, по крайней мере.


а Вы как с гитом работаете?
У нас такой подход вполне себе работает :)
4. Scorpion4eg 412 06.03.19 11:19 Сейчас в теме
(3) Разработка внешних обработок. Используем precommit1c на oscript.
7. ArchLord42 82 06.03.19 13:25 Сейчас в теме
(4) Ну так черрипикнул, пересобрал обработку и дальше поехал, время на сброку обработки то минимально.
8. Scorpion4eg 412 06.03.19 13:53 Сейчас в теме
(7) Да. Если не работать с ОФ. А при работе с ОФ, каждая форма эта конфликт. И форм в проекте бывает от много до слишком много.
9. ArchLord42 82 06.03.19 13:54 Сейчас в теме
(8) С ОФ тут конечно печаль беда, не спорю)
5. Vladimir Litvinenko 2770 06.03.19 11:57 Сейчас в теме
Сделал прямо сейчас отдельную ветку, исправил то, что попалось на глаза. А дальше черрипикнул в рабочую ветку и дальше пилить фичу. Но с 1с пока такой трюк не проходит.

а Вы как с гитом работаете?
У нас такой подход вполне себе работает :)


(3) А как Вы с гитом работаете? ))
Если через конфигуратор, то не поделитесь последовательностью шагов при начале и завершении работы над фичей?

В частности интересны такие вопросы:

1) Обеспечивается ли как-то блокировка одних и тех же форм/макетов для изменения двумя разработчиками одновременно?
Если обеспечивается, то как?
Если не обеспечивается, то как мерджите формы и макеты?

2) Ведёте ли параллельно работу с хранилищем или только через гит?

3) Обеспечивается ли как-то блокировка корня конфигурации от одновременного добавления объектов в двух разных ветках?
Если да, то как?
Если нет, то как в этом случае мерджите в master/develop две ветки, одновременно изменившие корень?

4) Встречали ли проблемы с тем, что при выгрузке-загрузке конфигурации из репозитория меняются идентификаторы объектов метаданных?

5) Ведётся ли работа на конфигурации, основанной на типовой и находящейся на поддержке исходного поставщика?
Если да, то как организовали работу в этом случае? Все объекты сняты с замка? Как обеспечиваете обновление на новый релиз поставщика?
6. ArchLord42 82 06.03.19 13:18 Сейчас в теме
(5)

1) Блокировки нет, ну и таких ситуаций не возникает, т.к. у нас 2 разработчика менять 1 форму \ макет не могут не могут в один день.

Инструмент называется JIRA)) Просто не ставим примерно одни и теже задачи разным разработчикам, если что-то надо поменять на форме условных контрагентов, то делать это будет 1 человек, либо 2, но в разные дни.

2) У нас чисто 1С + GIT без хранилища, сидим 14 месяцев на такой конфигурации.

3) Корень так же не блокируется, но в отличии от пункта 1. изменения корня могут быть произведены несколькими разработчиками, но тут есть нюанс, мержить такой конфликт очень легко (1 кнопка "принять оба изменения" или как то так в VSC), с условием, что МД не сортируются самими разработчиками, сортировка идет (пока что) тим лидом (мной), но планирую сделать автоматически при релизе.

4) до 11 платформы было пару раз, но с нее уже остались только косяки, аля прыгающее свойство туда сюда <UserAlways=true\false> на не измененных формах, сейчас сидим на 13 платформе, в целом вообще все косяки по выгрузке пропали и все выгружается адекватно

5) У нас отраслевая конфа, но на поддержке, допилы идут следующим образом: новые МД в основную конфу, доработка "типового" кода \ мд через расширение, все на замке, кроме некоторых МД, которые отредактировать через расширение невозможно, но они все проброшены в расширение для контроля после обновления.
Пример МД: Определяемые типы, через расширение изменить состав нельзя, определяемый тип снимается с замка, добавляется тип, и перекидывается в расширение, там тип становится "произвольный" и не контролируется, тогда мы берем и прописываем по новой все типы в расширении и после обновы, если затерлось изменение, то расширение сразу же об этом сообщит при попытки примененения.
Так же если надо добавить новый реквизит, снимаем с замка только "корень" мд, справочника например, формы на замке, а реквизиты можно добавлять, ну и опять же в расширение они перекидываются для контроля.

В целом обновление происходит очень быстро, если код не надо править, галкой "дважды измененные" фильтруем все проблемные МД, пробегаем глазами, ничего чтобы не потерялось, особенно проверяем предопределенные элементы :), и сравнением объединением накатываем обновление от вендора.

Свои обновления готовит jenkins из репозитория, поставку не делаем, тут все по хардкору, он готовит cf \ cfe, а мы их прям загружаем в прод. :)
Но это если были обновлены правила поддержки МД, либо сравнением объединением, если типовые МД тронуты небыли.
Раньше тупо загружали cfник, но это дольше по времени, а так если видно, что тронуто ничего небыло, то проще через сравнение сделать.
По началу офк боялись накатывать прям загрузкой CFника в прод, но у нас как раз был переход между программами и поломка БД бы пожара не вызвала, собственно на этом этапе подтвердилась надежность такой процедуры, проблем небыло ниразу, за исключением того, что пропал 1 раз весь интерфейс программы после обновления (всегда обновляем монопольно) тупо пустое окно после запуска 1С, но помог банальный ребут сервера, странно было то, что ребут службы никак не помогал.

Ну а сам рабочий процесс такой:

1) Утром мы апдейтимся с апстрима (У всех форки + главный репо.)

2) Пилим фичи по гит флоу.

3) К концу дня прилетает N количество ПРов

4) Я делаю ревью, мержу, если на какой то итерации принятия ПРа происходит конфликт, то либо сам разраб. решает конфликт, либо я сам в его ветке это делаю (они дают мне доступ к своему форку), обычно конфликтов нету, либо они "1 кнопочные", т.к. задачи по интерфейсу разделаяются с учетом особенностей мержа XML форм, то их в принципе нет, а BSL довольно просто мержить.

5) Собственно мы по домам Jenkins садится за работу, тестит, собирает.

6) Следующим утром я встаю, ставлю сравнение объединение или загрузку конфы, кушаю и тд, потом подрую блокировку базы, обновляю и дальше по своим делам)

7) Обновляю свой репозиторий.

далее свою конфу (пункт 1) и все повторяется

Взаимодействие с гитом происходит через oscript, своя "нетленка", которая по настройкам собирает проект, cf \ cfe \ epf \ erf и тд. и кладет в папку build условную, а в source tree просто пользовательские команды на выгрузку \ загрузку + кнопочка git flow
KapasMordorov; Vladimir Litvinenko; +2 Ответить
10. Vladimir Litvinenko 2770 06.03.19 15:27 Сейчас в теме
(6) Большое спасибо за развёрнутый ответ. Звучит классно и действительно как применимый на практике процесс. Даже пул-реквесты в процесс разработки включили! Это наверняка требует умения и желания работать с git каждого разработчика.

Получается, что в новых версиях платформы проблема с изменением идентификаторов решена, а мерджа форм избегаете на уровне договоренности между разработчиками.

Позвольте ещё один вопрос. Вы работаете с одним репозиторием, в котором исходники конфигурации и расширения разнесены по отдельным каталогам, или с двумя отдельными репозитоиями, отдельно для конфигурации и отдельно для расширения? Не принципиально конечно, но всё же интересно. Кажется, что при отказе от хранилища подход с одним репозиторием был бы удобнее.
13. ArchLord42 82 06.03.19 17:03 Сейчас в теме
(10)

Это наверняка требует умения и желания работать с git каждого разработчика.


Триггером было отсуствие (тогда) хранилища для расширений, так же нужно было версионирование обработок, при этом мысль, что с конфой будем работать через хранилище, а с остальным через GIT вызвало отторжение.

К тому же город у нас не крупный и скажем так не всегда можно найти квалифицированного разработчика, за которым не надо следить, а ревью кода можно делать уже постфактум, когда доработка попала в хранилище, либо постоянно залезать в чужие конфигурации, так же прием с несколькими хранилищами который продвигало 1С в статьях на ИТС очень не понравился, особенно когда работал с другими ЯП и знал что вот есть GIT и с ним работать довольно комфортно и там куча плюшек вместе с ним приходит.

А разрабы кстати не особо восприняли такую идею, довольно сложно иногда тру 1Снику объяснить про все эти CI \ GITы \ тесты и тд, но за несколько скайп конференций я донес до них полезность перехода на GIT, особенно все в восторге о того, что не надо писать \ идти \ звонить другому разрабу с просьбой "осободи мне МД Х и Y"

Кстати Валерий вроде из BIA tech выступал на последней инфоконфе, вот его история почти как у нас, только размеры команд разные, даже порог входа ~7 дней, про которые он говорил у нас повторяются.

ЗЫ. Спасибо за статьи по Ванессе, мы как раз через ваши статьи сейчас основы тестирования до разрабов доносим)


ете с одним репозиторием, в котором исходники конфигурации и расширения разнесены по отдельным каталогам, или с двумя отдельными репозитоиями, отдельно для конфигурации и отдельно для расширения? Не принципиально конечно, но всё же интересно. Кажется, что при отказе от хранилища подход с одним репозиторием был бы удобнее.


да у нас "монорепозиторий", и конфа и расширения и обработки все по разным папкам лежит
Vladimir Litvinenko; +1 Ответить
14. Sherzod1984 11.03.19 17:19 Сейчас в теме
(10) Добрый день! Владимир Литвиненко, как можно с вами связаться?
21. zlakizla 61 21.05.19 18:25 Сейчас в теме
(6) Спасибо за статью и пояснения! Есть небольшой вопрос по рабочему процессу, поясните пожалуйста:
1) Чтобы перейти из пункта 2 в пункт 3 пользуетесь стандартной выгрузкой конфигурации в файлы? А дальше уже коммит этих файлов и ПР?
2) При выполнении пункта 1 делаете апдейт своей локальной ветки из удаленного репозитория, а потом изменения как попадают в конфигурацию? Так же загрузкой конфигурации из файлов?
22. ArchLord42 82 22.05.19 03:06 Сейчас в теме
(21) Не за что, только статья не моя)

Да, синхронизация GIT <> конфа происходит, через выгрузку \ загрузку XML, по факту это делается не из самого конфигуратора (да и загрузить из конфигуратора мы не сможем ибо конфа на поддержке), а скриптами из source tree.
Отсюда и особенности процесса, что обновляем из апстрима по утрам, т.к. операция долгая довольно и по мимо сборки и загрузки CF еще делается бэкап текущего состояния конфы, т.к. некоторые люди у нас (в том числе и я) забывали выгрузить изменения и затирали кучу работы пару раз :)
Ну и уже ребята со скиллом и пониманием гита, делают несколько фич сразу (если они небольшие), а потом раскидывают нужное по коммитам, т.к. выгрузка бывает тоже не быстрой, особенно когда еще не создан ConfigDumpInfo (он удаляется после загрузки конфы из гита, и в целом находится в гитигноре), ну либо сразу правят исходники через VS Code
24. zlakizla 61 22.05.19 05:39 Сейчас в теме
(22) Спасибо за пояснения. Правильно понимаю, что запускаете скрипт из sourcetree, который обновляет файлы локального репозитория из удаленного, затем из этих файлов собирает cf, и далее этот cf натягивается на конфигурацию разработчика? Предварительно делая бэкап конфигурации разработчика.
25. ArchLord42 82 22.05.19 07:49 Сейчас в теме
(24) да, все так :)

скрипт банальный что то типа

git fetch upstream && git rebase upstream/develop && git push --force && oscript tools/git/main.os -update
26. for_sale 936 16.06.19 09:25 Сейчас в теме
(6)
Жесть! А можете подсказать, в чём преимущество такого подхода по сравнению со стандартным хранилищем? Если честно, после того как поработал с гит в 1С и после вашего описания пока впечатление "гит ради гита". Не проще сделать хранилище 1С, программистам работать с хранилищем, потом для дженкинсов и прочих авторабот выгружать уже в файлы и дальше по сценарию? В результате - программисты работают с нормальным хранилищем, не нужны никакие договорённости, не нужен специально обученный человек для мёрджей и прочего контроля, не нужно решать кучу проблем на уровне неприспособленности платформы (прыгающие свойства, идентификаторы и т.п., не факт, что в новой платформе не прилетит чего-то нового-интересного).
27. ArchLord42 82 16.06.19 12:02 Сейчас в теме
(26) мы перешли ради код ревью и блейма, хотя блейм в через гитсинк можно получить с хранилищем. Но вот код ревью - нет, плюс блокировки МД достали, а возня с несколькими хранилищами вызвала дикое отторжение, т.к. некоторые кейсы вот вообще не как не воспроизвести.
Например когда 2 разраба, пилят фичи, которые потом нужны другому, через гит это решается банальным черри пиком, с хранилищами уже не как. Писать можно много, главное скажу, что наши разрабы не страдают, все банально просто, не сложнее понимания работы с хранилищем, а для продвинутых разрабов открываются большие возможности и это для нас жирный "+".

ЗЫ Воркфлоу может и жестью показаться, но он довольно простой.

неприспособленности платформы (прыгающие свойства, идентификаторы и т.п., не факт, что в новой платформе не прилетит чего-то нового-интересного).


это не баг, а фича, это касается ConfigDumpInfo, а он актуален только для конкретного состояния ИБ и должен быть в гитигноре, какой нибуть node_modules тоже всегда в гитигноре, не кто ж не ноет, что там что-то меняется))

В целом с 10 платформы уже все довольно стабильно, очень редко всплывают баги
28. for_sale 936 16.06.19 13:19 Сейчас в теме
(27)
блокировки МД достали

В каком смысле? У вас два программиста одну форму параллельно пилят??

Хотя нет, вот же вы пишите:
1) Блокировки нет, ну и таких ситуаций не возникает, т.к. у нас 2 разработчика менять 1 форму \ макет не могут не могут в один день.


О каких блокировках вы говорите?

Для код ревью, опять же, элементарно, есть хранилище, есть отдельная рабочая, при сравнении-объединении всё это видно, причём в удобном, разработанном для 1С виде, а не в текстовых файлах или, упаси боже, в консоли.

Я ездил на отдых в ОАЭ, страну из топ 3 самого дорогого интернета в мире, поэтому работать через удалённый рабстол было невозможно. Соответственно, точно также, сделал гит-хранилище, выгружал туда изменения, загружал на битбакет, забирал локально, работал, потом в обратную сторону. Трафик я, конечно, сэкономил, цель была достигнута, не пришлось выгружать-загружать каждый раз гиговый цф. Но в остальном я проклял гит, 1С и всех адептов гита в 1С. Потому что выгрузка конфы в файлы занимает Ж = "жесть сколько времени", гит статус, гит адд, гит коммит занимают каждый по Ж времени (на каждой стороне!), на принимающей стороне должна быть развёрнута отдельная база, которая загружается (за Ж времени) из файлов, потом оттуда выгружается цф и объединяется с целевой базой на той стороне. Да, кстати, на моей стороне тоже была отдельная база для заливки из файлов, потому что тоже на поддержке.

И эффективность всего этого алгоритма - Ж большое! Прям огромное. Поэтому для работы с гитом вместо хранилища должны быть реальные основания. У вас, насколько я понимаю, примерно такое же Ж времени уходит на все танцы с гитом. При этом система - "все работают в хранилище 1С, кодревью происходит при заливке в рабочую" - просто таки в разы быстрее. Да, для всяких дженкинсов надо в файлы, но это можно действительно ночью без пользователя делать. А в работе программиста - я, если честно, так и не понял, какой выигрыш вы получили?
29. ArchLord42 82 17.06.19 06:48 Сейчас в теме
(28)

причём в удобном, разработанном для 1С виде, а не в текстовых файлах или, упаси боже, в консоли.


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

В каком смысле? У вас два программиста одну форму параллельно пилят??


Формы офк нет, а модули, особенно в период активной разработки часто пересекались

(28)
Потому что выгрузка конфы в файлы занимает Ж = "жесть сколько времени", гит статус, гит адд, гит коммит занимают


выгрузка от 30 сек до 5 мин занимает, в замисимости от актуальности ConfigDumpInfo, а вот на счет статуса \ адд \ коммита, я хз как так у вас выходит, там что постоянно овермного файлов у вас при выгрузке чтоле?)
Просто все это занимает довольно мало времени измеряемое секундами, да и чего там вычислять, когда обычно ~2-5 файлов затронуто, при среднестатической задачи

У вас, насколько я понимаю, примерно такое же Ж времени уходит на все танцы с гитом.


у разраба уходит минут 10-15 утром на синхронизацию с главным репо, и пара минут на выгрузку задачи каждой и создания ПРа, так что я не скажу что это много времени)

Опять же размеры конфы имеют значение. Я без понятия как там с ERP дела будут, у нас конфа уровня БП по размеру и все довольно быстро происходит.

А в работе программиста - я, если честно, так и не понял, какой выигрыш вы получили?


главный выйгрыш наверное "монорепо" ибо содержать 3 храна, под каждое расширение + основной довольно много времени занимает, к тем более, что триггером к гиту стали именно расширения ибо тогда небыло хранилищ для расширений, а мы их активно юзали в итоге показалось очень удобным работа напрямую с гитом и мы перевели и основную конфу в гит.

Еще не так давно привязка конкретных задач к написанному коду + блейм очень помогли найти виновника и исправить довольно хитрый баг который случайно прошел в прод.

ЗЫ. Я думаю ваши возгорания были от того, что в вашей ситуации небыло верного иструментария, ибо наши движухи с гито приведены к 1 команде в сурс три.

т.е. у нас в сурс три добавлены несколько команд пользовательских утрируя их можно привести к таким:

"Выгрузить проект в файлы" - выгружает весь проект epf\erf\cf\cfe в файлы, с умным кешем обработок, для того, чтобы неизмененные epf\erf не грузить заного
"Загрузить" - загружает из гита весь проект, загружает так же только измененные части проекта

а внутри них там уже магия через oscript идет и коненому разрабу не надо тратить кучу времени именно на работу с гитом, все делает наша поделка.

Спецом глянул сейчас, наша дока по синхронизации с гит и выгрузкой в него, занимает 6 скринов и около 10 строк текста, все остальное автоматизировано)
30. for_sale 936 17.06.19 09:47 Сейчас в теме
(29)
Вы бы статью написали с вашим случаем, с картинками, командами, инструментарием и т.п. Я думаю, не только мне было бы интересно. Потому что я сейчас с гитом работаю только по внешним обработкам, по полной конфе (это была БП!) было Ж большое. Сейчас уже точно не вспомню, но очень приблизительно половина цикла (перенести из одной базы изменения в другую) занимало от получаса до полутора. Т.е. я утром запускал этот процесс, и также занимался своими делами, ходил на завтрак и т.п. Так вот, кто-то из команды вдруг что-то критичное менял и выкладывал в течение дня, мне было проще или код с экрана у себя переписать, или из выгрузки выдернуть файлы, которые изменены и через файловой хостинг перекинуть к себе.
31. ArchLord42 82 17.06.19 17:41 Сейчас в теме
(26) думал об этом не раз, ибо подобный разбор полётов веду не первый раз, наверное в ближайшем будущем сделаю это уже)
32. for_sale 936 17.06.19 18:16 Сейчас в теме
(31)
Буду ждать, потому что сам бы хотел применить в некоторых местах гит, но пока что этот печальный опыт не особо обнадёживает.
11. azhilichev 209 06.03.19 15:43 Сейчас в теме
По следам статьи из блога Яндекса на Хабре :) Провели эксперимент с использованием этого подхода в комментариях к коммитам. Оправдал себя. Теперь внедряем во всей команде.
12. Scorpion4eg 412 06.03.19 16:15 Сейчас в теме
(11)
По следам статьи из блога Яндекса на Хабре

Да, хотелось добавить личного опыта. Потому что ребята из Яндекса очень не любят им делиться.
"По всем рекомендациям надо сделать так" - а как делают сами, редко пишут.
15. metmetmet 81 16.03.19 11:57 Сейчас в теме
Добрый день, подскажите, пожалуйста, совет, рекомендацию, личный опыт при разработке с использованием git и precommit1c.
Например, ведется разработка внешней обработки, относительно последнего коммита были внесены изменения, но вдруг разработчика отвлекают, и он переключается на другую задачу. Когда он возвращается к свой первоначальной разработке, было бы удобно с помощью любимого приложения (sourcetree и т.д.) посмотреть внесенные изменения относительно последнего коммита. Я понимаю, что можно вручную запустить precommit1c и увидеть необходимый результат. Но очень хочется, чтобы не приходилось выполнять ручных операций.
Также очень хочется до помещения коммита видеть различия для дополнительного контроля помещаемых изменений, а precommit1c разбирает обработку на исходники, только при помещении коммита в репозиторий.
У кого какие практики?
16. Scorpion4eg 412 16.03.19 17:58 Сейчас в теме
(15) Для начала - с какими формами работаете: ОФ или УФ?
Если УФ то вполне можно работать с исходниками (Файл-Сохранить как-Внешняя обработка в XML формате). Тогда все изменения будут отражены сразу в читаемом виде. Ну или работать в EDT.
Если ОФ - то пока без альтернатив.
Как делаю сам. Если не закоммитил изменения и не помню что это - делаю коммит! )) Только надо отучится от практики - коммит и пуш. Тогда можно отменить ненужные изменения.
Дальше. В sourcetree есть механизм CustomAction - можно добавлять свои скрипты. Так проще вызывать разбор файла, чем лезть в консоль каждый раз.
Я перешел с SourceTree на SmartGit. В SmartGit на Custom actions можно установить комбинации клавиш. В ближайшем будущем есть желание перейти на работу только с исходниками.
Поработал, вызвал скрипт разбора, зафиксировал то что нужно. После смены ветки - вызвал скрипт сборки.
17. metmetmet 81 16.03.19 21:01 Сейчас в теме
(16) Спасибо за развернутый ответ. Разработка на УФ. CustomAction - неплохой вариант, и думаю потихоньку можно уже двигаться в сторону EDT.
18. Scorpion4eg 412 16.03.19 22:27 Сейчас в теме
(17)у меня было дикое отторжение от edt. Но поставил 10 версию, действительно хорошо оптимизирована. Заставил себя неделю поработать и привык, есть много интересных фишек, которых теперь недостает в конфигураторе
19. metmetmet 81 17.03.19 21:32 Сейчас в теме
(18)Вот ещё один вопрос, который меня мучает: при разработке внешней обработке хранить в репозитории саму обработку или хранить только ее стабильные версии как релизы?
С одной стороны во всех репозиториях программ на других языках, которые я видел, нет бинарных файлов, они прикладываются как релизы. Но с другой стороны, гораздо удобнее в каждом коммите уже иметь готовую для использования обработку.
20. Scorpion4eg 412 17.03.19 22:04 Сейчас в теме
(19) Пока храним обработки во всех коммитах. За 2500 коммитов размер репозитория вырос до 1,5 Гб. Но мы работаем и с ОФ.
В ближайших планах перейти на хранение только кодов. Ничто не мешает пересобирать обработку после смены ветки. Или можете хук на checkout повесить, чтобы сразу собирал
23. ArchLord42 82 22.05.19 03:09 Сейчас в теме
(20) Хук скорее перебором будет, особенно если надо просто перейти на ветку для каких-то действий относящихся к гиту непосредственно, обработки и так собираются довольно быстро, так же можно сделать проверку хешей файлов, на предмет того, что обработку надо действительно пересобрать, мы в общем то так и сделали, работает отлично)
34. for_sale 936 17.06.19 18:25 Сейчас в теме
(20), (23) - я думаю, вам можно написать статью (или цикл) с полным разбором от "Что такое гит" до "Хуки-блеймы-полный цикл". И рейтинга наберёте, и денег с инфостарта срубите, и карму поднимите)
33. for_sale 936 17.06.19 18:22 Сейчас в теме
(19)
Всегда же можно откатиться и собрать из файлов. Для получения готовой обработки определённой версии всё равно нужно откатиться, так что действия всё равно одни и те же (пару кликов добавляется), а размер страдает очень сильно.

Мы раньше хранили в двух хранилищах отдельно - в одном обработка, в другой её выгрузка. В результате выгрузка занимает копейки, а хранилище с обработкой пухнет. В результате первое забросили, только выгрузку храним. Надо будет получить историческую версию - откатимся, сделаем.
35. yaroslavkravets 24 01.10.19 09:42 Сейчас в теме
Интересный инструмент, но работает только в консоли виндовс. В git bash виделение цветом не происходит, но выбор стрелками происходит. Это только у меня так?
Оставьте свое сообщение

См. также

Получаем статистику по git-репозиторию в разрезе разработчиков

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Итак! Представим, что наступил момент, когда разработка через исходный код реализована на предприятии в полном объеме. Мы разрабатываем в EDT или конфигураторе (но выгружаем конфигурацию в исходный код), версионируем внешние отчеты и обработки и расширения, собираем релизы, проверяем код статическим анализом, в разработке царит гармония и мир. Красота! Но менеджерам этого мало, всегда хочется чего-то еще, и вот мне прилетает задача - дай статистику по вкладу в код каждого разработчика.

13.03.2023    761    ardn    3    

22

Формула успешного внедрения DevOps и Agile в 1С: от неудачи к неудаче без потери энтузиазма

Групповая разработка (Git, хранилище) Управление проектом Бесплатно (free)

На конференции Infostart Event 2021 Post-Apocalypse выступил директор практики БИТ:ERP компании Первый БИТ Глеб Стальной. В ходе доклада он рассмотрел трансформацию проектного подхода в продуктовый, рассказал про имплементацию «современных» практик DevOps и продемонстрировал инструменты для разработки, взаимодействия с бизнесом и клиентами, применяемые в его команде.

27.02.2023    713    glebushka    1    

6

Кровь, пот и GIT

Групповая разработка (Git, хранилище) Бесплатно (free)

Ведущий разработчик 1С Андрей Карпов на конференции Infostart Event 2021 Post-Apocalypse поделился ошибками, которые совершают новички в работе с GIT. В докладе четыре кейса с пошаговыми инструкциями, которые позволят не допускать конфликтов в разработке.

17.01.2023    5650    karpik666    46    

61

Прокси хранилища 1С (IIS, OneScript)

Групповая разработка (Git, хранилище) OneScript DevOps и автоматизация разработки Платформа 1С v8.3 Россия Бесплатно (free)

Избавляемся от версионной зависимости, проверяем комментарии, вызываем веб-хуки, делаем красивые пути. И все это на привычном IIS и понятном OneScript.

08.12.2022    4801    kamisov    24    

81

Что, если Continuous Integration – это прежде всего практика, а не набор инструментов?

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Бесплатно (free)

Рано или поздно многие компании приходят к практикам DevOps. И начало этому – Continuous Integration. О том, что происходит в команде специалистов 1С, когда они переходят на Git, и почему простое внедрение CI-инструментов не решает проблему подходов к разработке, в докладе на Infostart Event 2021 Post-Apocalypse рассказал руководитель компании ПрогТехБизнес Александр Анисков.

07.12.2022    1379    vandalsvq    0    

23

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Управление хранилищами без боли

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Бесплатно (free)

Когда хранилищ много, возникает вопрос удобного управления ими. Андрей Овсянкин на онлайн-митапе «Инструменты автоматизации рутины в 1С-разработке» рассказал, как настроить перенос хранилища на новую версию платформы без перепрописывания путей у каждого разработчика, и как безболезненно обеспечить для хранилища запрет коммита с пустым комментарием.

28.11.2022    6306    Evil Beaver    11    

85

Технология доработки типовой конфигурации с использованием конфигуратора

Групповая разработка (Git, хранилище) Бесплатно (free)

Как обычно происходит процесс доработки типовой? Разворачивается и используется рабочая база из какой-то типовой поставки 1С (БП/ERP/ЗУП и т.д.). Далее бизнес постоянно приносит требования по доработке типового функционала (отдельный вопрос, зачем это нужно). Возникает задача организовать постоянное изменение типовой конфигурации группой программистов. На мой взгляд, это довольно частая задача. Хотелось бы рассмотреть возможные варианты ее решения. Нигде не нашел упоминаний о подходах решения такой задачи, хотя, думаю, многие работают в таком режиме.

16.07.2022    1625    partizand    13    

7

Отражаем хранилище в репозиторий git, Jenkins'ом

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Описание приемов по настройке копирования хранилища 1С в репозиторий git. С помощью gitsync, под управлением Jenkins.

16.06.2022    1517    ImHunter    1    

19

Работа с хранилищем конфигурации с разными версиями конфигуратора

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Бывают ситуации (в моей практике - постоянно), когда нужно работать с одним хранилищем конфигурации из-под разных версий платформы. Предлагаю свой вариант решения.

08.06.2022    1505    curdate    10    

7

Скрипт перепривязки базы к хранилищу конфигурации

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Пример скрипта для перепривязки базы к хранилищу конфигурации, используя Python.

17.04.2022    1216    malikov_pro    0    

12

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Выгрузка версии хранилища в XML файлы

Файловый обмен (TXT, XML, DBF), FTP Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Скрипт, выполняющий выгрузку произвольной версии из хранилища в XML.

17.03.2022    1032    kraynev-navi    2    

7

Стек технологий для 1С

Инструментарий разработчика Рефакторинг и качество кода Групповая разработка (Git, хранилище) Механизмы платформы 1С Бесплатно (free)

Стек технологий, которые могут быть полезны разработчику на 1С и около 1С. По каждой технологии постарался объяснить, зачем она нужна и с чего начать изучение, если заинтересует.

29.11.2021    29645    mrXoxot    63    

419

Девопсы в 1С: микросервис распознавания штрихкодов

Групповая разработка (Git, хранилище) Бесплатно (free)

Распознавание штрихкода из сканированного документа в PDF.

09.08.2021    2412    alexey_kurdyukov    8    

9

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Как подключиться к хранилищу конфигурации на сервере за NAT, если есть доступ по RDP?

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

В статье находится инструкция по подключению базы 1С к хранилищу конфигурации, если хранилище не опубликовано в интернет, но опубликовано по TCP в локальной сети клиента.

01.06.2021    4193    Dipod    13    

53

Мастер-класс: Реализация цикла CI/CD на практическом примере с использованием системы Тестер

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

На онлайн-митапе Инфостарта «DevOps в 1С» выступил Дмитрий Решитко – руководитель отдела разработки в компании C.T. Consultants Inc. Дмитрий провел мастер-класс, в котором продемонстрировал, как создавать новую функциональность в конфигурации с одновременным использованием инструмента тестирования и реализовать автоматизированное тестирование конфигурации при помещении кода в репозиторий на GitLab.

31.05.2021    2421    grumagargler    0    

18

Технология разветвленной разработки конфигураций 1С

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Вся групповая разработка любой организации, где работает более 2-х программистов, в превосходящем большинстве случаев строится вокруг хранилища конфигурации. Те из нас, кто обращался к стандартам разработки 1С как минимум раз в жизни и читал их полностью (а может, и просто слышал от коллег), наверняка знают, что существует «Технология разветвленной разработки конфигураций» https://its.1c.ru/db/v8std#content:709:hdoc но не все поняли, как на самом деле эту замечательную вещь применять на практике, а кто-то понял и вероятнее всего думает, что «это к нам не относится, командная разработка по такой технологии в нашей организации не получится в силу определённых причин и потому применять её, к сожалению, я один не могу и не буду», до конца не разобравшись во всех аспектах, но это ошибочное мнение. В этой статье я постараюсь описать свой опыт, рассказать о преимуществах использования данной технологии, дать понять, что технология разветвленной разработки конфигураций на самом деле вещь индивидуальная и каждый для себя решает сам, применять её или нет, а также внести понимание, что у вас вообще нет никакой зависимости от своих коллег, работая в хранилище конфигурации при использовании этой технологии.

19.05.2021    9823    sinichenko_alex    45    

127

Ненавязчивая локальная разработка с traefik2, docker и letsencrypt

Групповая разработка (Git, хранилище) DevOps и автоматизация разработки Бесплатно (free)

Перевод статьи по проксированию HTTP траффика до сервисов развернутых в docker контейнерах. Оригинал от 24.09.2020.

16.05.2021    5016    malikov_pro    0    

8

Хранилище значения. Заметки

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Некоторые подробности про общеизвестный инструмент.

03.11.2020    26446    Yashazz    15    

49

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Технология разветвлённой разработки, использующая git, ci/cd

Групповая разработка (Git, хранилище) 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Адаптация и расширение требований к разветвлённой разработке с использованием git и ci/cd, основанное на стандартах 1С

24.02.2020    9347    check2    10    

74

GitSync 3.0. Шпаргалка по использованию

Групповая разработка (Git, хранилище) Бесплатно (free)

В новой версии GitSync помимо появления новой функциональности, изменилась строка вызова приложения и часть функциональности реализована посредством плагинов. В заметке описывается новый формат строки вызова и принцип подключения плагинов.

26.11.2019    16020    VKislitsin    48    

116

Минимизация изменений в коде / Использование Хранилища общих настроек

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной публикации будет показан пример использования Хранилища общих настроек, и показано, как с его помощью можно минимизировать изменения в типовом коде.

14.11.2019    3516    biimmap    34    

2

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

Групповая разработка (Git, хранилище) Платформа 1С v8.3 1С:Управление торговлей 11 Бесплатно (free)

История одного проекта обновления, хранилище, групповая разработка.

06.11.2019    6092    vasilev2015    20    

23

Git для 1С-ника и другие технологии групповой разработки

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

У многих специалистов в отношении Git сложились стереотипы, мешающие начать работу с этим прекрасным и удобным инструментом. Почему его не стоит бояться, и чем он может упростить жизнь 1С-никам, рассказал архитектор ГК «Невада» Станислав Ганиев.

28.10.2019    16408    stas_ganiev    17    

63

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Переход на разработку с хранением в Git, часть 1, подготовка репозитория

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Описываю свой опыт переноса разработки в git в малой группе. В тех статьях, которые уже есть, описывается полная цепочка. Думаю своими статьями снизить порог входа в достаточно важную часть разработки.

29.09.2019    10157    malikov_pro    14    

108

Отказ от использования хранилищ 1С, переход на Git.

Групповая разработка (Git, хранилище) Бесплатно (free)

Валерий Максимов в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION делится опытом перехода нескольких команд (более 100 разработчиков) от использования хранилищ 1С на системы контроля версий Git.

25.07.2019    25294    theshadowco    33    

88

Как начать работать с Git

Групповая разработка (Git, хранилище) Платформа 1С v8.3 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Если Вы 1С программист, то обязательно наткнетесь на людей, рассказывающих о OScript, DevOps, EDT, SilverBulleters и так далее. Сейчас уже нельзя скрыться от этой информации. Так же было и со мной. В корне всего этого зоопарка лежит понимание и умение работать с Git (Распределённая система управления версиями). Укрупненной информации о ней много, Вы легко её нагуглите сами. В этой статье я старался собрать основные команды, определить их последовательность выполнения и привести краткий пример. Попробуйте выполнить все команды, и Вам станет проще разобраться с остальными программами. Удачи!

29.06.2019    10749    johnnyshut23    34    

64

Исправляем медленное выполнение операций с хранилищем конфигурации

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье описан способ решения проблемы долгого захвата/помещения объектов в хранилище конфигурации

26.05.2019    17971    tormozit    21    

93

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    35693    ellavs    90    

250

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Ошибки при работе с хранилищем конфигурации и способы их решения

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

В статье собраны наиболее распространенные ошибки при работе с хранилищем конфигурации и способы их обхода и решения.

01.03.2019    92579    Смешной 1С    40    

179

Git + 1С. Часть 2. Реализация Git workflow в 1С-разработке по шагам

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В этой части мы рассмотрим наиболее распространённую схему workflow при групповой разработке с использованием Git. Как приступить к доработке по поставленной задаче; исправить ошибку, обнаруженную на этапе тестирования; отправить свой код на слияние в предстоящий релиз; и т.д. Постараемся охватить большинство задач, составляющих основной цикл разработки

28.01.2019    39312    stas_ganiev    32    

157

Еще раз про хранилище, или проблемы, с которыми мы столкнулись на практике

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Хранилище - необходимый инструмент для групповой разработки, но иногда встречаются не очень очевидные вещи, о которых и хотелось бы поговорить в данной публикации.

25.01.2019    3510    Lucifer93    2    

7

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    144407    stas_ganiev    90    

400

Одновременное использование хранилища и расширений

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Шастун Алексей поднимает вопрос одновременного использования хранилища и расширений. В статье рассмотрены плюсы и минусы хранилища и расширений, а также возможные варианты их использования. Также автор описывает два практических кейса по организации одновременного использования хранилища и расширений 1С в проектной группе из трех и более разработчиков.

23.08.2018    15503    shaa2    3    

17

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Повышаем эффективность разработки правил обмена

Групповая разработка (Git, хранилище) Обмен между базами 1C Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    32101    olegtymko    49    

152

Версионирование правил обмена в Git

Групповая разработка (Git, хранилище) Бесплатно (free)

Статья рассказывает о принципах работы скриптов, позволяющих применять систему контроля версий git и подход gitflow для версионирования правил обмена.

15.12.2017    16845    bforce    22    

73

Групповая разработка конфигураций в крупном холдинге

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

О чем мы сегодня поговорим? • О становлении и развитии групповой разработки конфигураций 1С в крупном холдинге с использованием хранилища конфигураций. • Обсудим практически все аспекты использования хранилища в командной разработке. • Я расскажу про те методы и идеи, которые мы пробовали использовать, какие используем до сих пор, от каких отказались и почему.

15.08.2017    26358    stas_ganiev    17    

78

Поиск несериализуемых значений при помещении в хранилище

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

В статье разобран пример, как найти несериализуемые значения в случае помещения в хранилище коллекций, содержащих вложенные элементы. В качестве хранилищ рассмотрены временное хранилище значений и переменные типа ХранилищеЗначения.

02.03.2016    27106    balanton    2    

14

Работа с хранилищем конфигураций из командной строки

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Данное изложение на примерах демонстрирует работу с хранилищем конфигураций из пакетного режима

22.04.2014    20587    Franco    12    

26