Files
docs/public/template-sync-strategy/assets/concepts_rules.md.QraT4IhZ.js
S.Gromov 1a14df9366 feat: добавить документацию Template Sync Strategy
- добавлены каноны и VitePress-сайт стратегии обновления шаблонов

- подключена карточка документации на главной странице

- добавлены сборочные скрипты, Caddy-маршрут и Docker-сборка

- добавлена git-иконка для карточки и сгенерированы публичные артефакты
2026-05-13 23:23:31 +03:00

4 lines
4.7 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as a,o as t,c as s,ae as o}from"./chunks/framework.B1nRs-GM.js";const h=JSON.parse('{"title":"Правила процесса","description":"Набор правил, который удерживает template чистой, а обновления шаблона контролируемыми.","frontmatter":{"title":"Правила процесса","description":"Набор правил, который удерживает template чистой, а обновления шаблона контролируемыми."},"headers":[],"relativePath":"concepts/rules.md","filePath":"concepts/rules.md"}'),l={name:"concepts/rules.md"};function c(i,e,d,n,r,p){return t(),s("div",null,[...e[0]||(e[0]=[o(`<div style="display:none;" hidden="true" aria-hidden="true">Are you an LLM? You can read better optimized documentation at /template-sync-strategy/concepts/rules.md for this page in Markdown format</div><h1 id="правила-процесса" tabindex="-1">Правила процесса <a class="header-anchor" href="#правила-процесса" aria-label="Permalink to &quot;Правила процесса&quot;"></a></h1><p>Небольшой набор правил удерживает схему чистой.</p><h2 id="делаем" tabindex="-1">Делаем <a class="header-anchor" href="#делаем" aria-label="Permalink to &quot;Делаем&quot;"></a></h2><ul><li><code>template</code> обновляем только из <code>templates/master</code>.</li><li><code>sync/*</code> создаём от <code>origin/master</code>.</li><li><code>origin/template</code> вливаем в <code>sync/*</code>, а не напрямую в <code>master</code>.</li><li>Конфликты решаем только в <code>sync/*</code>.</li><li><code>sync/* -&gt; master</code> вливаем через PR/MR.</li><li>Для sync-PR/MR отключаем squash.</li></ul><h2 id="не-делаем" tabindex="-1">Не делаем <a class="header-anchor" href="#не-делаем" aria-label="Permalink to &quot;Не делаем&quot;"></a></h2><ul><li>Не правим <code>template</code> руками.</li><li>Не коммитим изменения приложения в <code>template</code>.</li><li>Не мержим <code>template -&gt; master</code> напрямую.</li><li>Не решаем конфликты в <code>master</code>.</li><li>Не включаем squash для <code>sync/* -&gt; master</code>.</li></ul><h2 id="почему-squash-нельзя" tabindex="-1">Почему squash нельзя <a class="header-anchor" href="#почему-squash-нельзя" aria-label="Permalink to &quot;Почему squash нельзя&quot;"></a></h2><p>Squash может уничтожить нормальную связь истории <code>master</code> с историей <code>template</code>.</p><p>Git использует историю, чтобы понимать, какие изменения шаблона уже были доставлены в приложение. Если результат обновления шаблона превратить в один squash-коммит, связь с исходными коммитами шаблона станет хуже или исчезнет.</p><p>Для sync-PR/MR допустимы:</p><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>fast-forward merge = хорошо</span></span>
<span class="line"><span>merge commit = допустимо</span></span>
<span class="line"><span>squash merge = нельзя</span></span></code></pre></div><h2 id="почему-template-нельзя-пачкать" tabindex="-1">Почему template нельзя пачкать <a class="header-anchor" href="#почему-template-нельзя-пачкать" aria-label="Permalink to &quot;Почему template нельзя пачкать&quot;"></a></h2><p><code>template</code> — эталонный слепок оригинального шаблона.</p><p>Если в неё попадает локальное решение конфликта или изменение приложения, она перестаёт отвечать на вопрос: “какая версия шаблона сейчас подключена к приложению?”.</p><p>После этого ломается главная граница ответственности: шаблон отдельно, приложение отдельно, конфликтная зона отдельно.</p>`,16)])])}const u=a(l,[["render",c]]);export{h as __pageData,u as default};