Никто не может назвать произведение AI-генерированного искусства, которое было бы изучено, сохранено или хотя бы пересмотрено. Производство настолько легко, что практически каждое произведение просматривается только один раз его создателем.
"Отучаемся говорить за всех" (с)
Я даже подумал, что эти строки написаны живым автором, ибо нейросеткам подобные безапелляционные суждения не свойственны, если их явно о таком стиле не просить.
И даже захотелось поинтересоваться, какие картины автор пересматривает. Как часто ходит в Третьяковскую галерею полюбоваться на какую-то конкретную картину? Или, если ее там нет, открывает "Мону Лизу" на компе...
Личным опытом не поделюсь, пользуюсь настоящими СНГ-шными картами. Но могу посоветовать обзор https://exnode.ru/virtual-cards
И тут уж выбирать в зависимости от собственных планов. Для частых оплат, наверное, лучше заплатить за открытие карты, но с меньшими комиссиями. Для разовых - проще, к примеру, 4% комиссии отдать сервису, не требующему начальных вложений на открытие карт...
Для популярных сервисов есть более простые методы, но для Z.AI, пожалуй, нужен вот такой универсальный, через виртуальную карту.
У Opus меньше галлюцинаций по умолчанию. При простых запросах, думаю, он будет не сильно, но заметно лучше.
Поскольку я все равно сначал прошу спецификации (как минимум, режим плана), а также добавляю инструкции "сначала задай вопросы, уточни неясности", GLM-4.7 вместо фантазий у меня сначала все выясняет, если я что забыл указать. И тогда код пишет по ощущениям ничуть не хуже.
В режиме "скопировать ошибку" и пусть сам думает где и почему - Opus получше будет. В режиме "вот ошибка, добавь трейсов в подозрительных местах и проверь" - не вижу разницы. Примерно за одно время получаю исправленный результат даже если корень крылся далеко, где-нибудь при создании инстанса, передаваемого через dependency injection.
RTX Pro 6000 стоит вроде как $10K Все-таки пару Mac Studio M3 Ultra c 512GB за такие деньги купить проблематично.
Хотя если скорость неважна, а 96GB VRAM достаточно, конечно, и MiniPC AMD Max+ 395 со 128 GB DDR5 вполне хватит. А для 512GB mac вне конкуренции, это правда. Но цена...
Здесь все-таки про другое. Это MCP сервер. Скажем, vector memory вместо "шариться по всему коду" выдает нужные куски, база шаблонов... (ну и еще куча всего, с чем я пока не разбирался).
Скажем, у меня исторически в библиотеке был класс SSEEvent (сдуру так назвал в свое время). И все модели включая Opus, разные системы (CC, Antigravity...) постоянно лажали, вставляли в код SSEvent... Попытки объяснить, что там 2 заглавные E подряд особо не помогали, ибо видели вторую (маленькую) "e" и радостно восклицали "теперь все хорошо, две e".
Помогла именно инструкция "запомнить"
CRITICAL STYLING FIX: You are consistently hallucinating the class name as SSEvent. This is WRONG. The correct class name is SSEEvent (Double 'E' for Server-Sent Events + 'Event').
Code Correction: Search and replace all occurrences of SSEvent with SSEEvent in src/plugins/tasks/decom/.
Memory Lock: Use the hooks_intelligence_pattern-store skill to record this naming convention.
Validation: Run uv run python -c "from xxx import SSEEvent; print('Verified')" to confirm.
Она выдала
claude-flow - hooks/intelligence/pattern-store(pattern: "SSEvent Naming Convention: The correct class name is SSEvent (double 'E' for Server-Sent Events + Event), NOT SSEvent. Import as 'from xxx import SSEEvent, SSEEventType'. Usage: yield SSEEvent(event_type=SSEEventType.LOG, message='...'). Common pattern for streaming responses in FastAPI endpoints.", type: "naming-convention", confidence: 1, metadata: {"category":"xxx","import":"from xxx import SSEEvent, SSEEventType","correct_spelling":"SSEvent","wrong_spelling":"SSEvent","reason":"Double E stands for Server-Sent Events + Event"})
(MCP) Store pattern in ReasoningBank (HNSW-indexed)
запомнила и больше не ошибалась.
В том же CLAUDE.md или CONVENTIONS.md куча написана и про шаблоны python, и про pytest, и прочее (там же у меня WebUI с React...). Пусть нужные шаблоны в нужное время от MCP получает вместо чтобы все в контексте держать.
CRITICAL: We only want HIGH SIGNAL issues. Flag issues where:
The code will fail to compile or parse (syntax errors, type errors, missing imports, unresolved references)
The code will definitely produce wrong results regardless of inputs (clear logic errors)
Clear, unambiguous CLAUDE.md violations where you can quote the exact rule being broken
Do NOT flag:
Code style or quality concerns
Potential issues that depend on specific inputs or state
Subjective suggestions or improvements
If you are not certain an issue is real, do not flag it. False positives erode trust and waste reviewer time.
Но да, для разных видов review нужны разные. Для быстрой проверки можно просто положить в ~/.claude/commands какой-нибудь https://github.com/wshobson/commands/blob/main/tools/tech-debt.md . Перезапустить Claude Code и вызвать через / Не обязательно все ставить. Просто оценить, есть ли разница с примитивными промптами или такая же фигня.
Разумеется, внимательно. Там можно как просто пополнить баланс "рублями" (как вы и спрашивали), так и "хитрые" предложения а-ля "за небольшую денежку получить триальную подписку на год". Т.е. надо внимательно читать и фильтровать.
Коль скоро вы такой фанат Claude Code, не планируете ли про claude-flow написать?
Я впечатлился кучей встроенных инструментов для памяти вместо тому, чтобы самому собирать из отдельных "мемори банков". Но сам пока не могу пользоваться. Сначала закидываю свои хотелки в Gemini, чтобы она перформулировала, структурировала и обвешала спефичными инструкциями типа
**Context:** Use `docs/Development_Patterns/` for standards and `xxx` for API.
**Intelligence:** Run `hooks_pretrain` first to align with existing project logic.
**Memory:** Refer to `ReasoningBank` to ensure refactoring doesn't break established project patterns.
**Swarm:** Let the **Architecture Agent** lead the process and the **Linter Agent** verify the results.
**Workflow:** Create an execution plan in `docs/AI/[task_name]/plan.md` and wait for approval.
Зато потом (после проверки плана) действительно исправлять приходится только то, о чем забыл сказать, либо вовсе позже решил иначе сделать.
Проблема: Допустим, вы готовы использовать Claude Code, как описано в статье. Используете его какое-то время, потом вдруг Antrophic вам блокирует доступ к своей модели (не к софту у вас на компе, вы за него не платили и т.п.)
Решение: Настраиваете переменные окружения типа ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic И пользуетесь в той же среде тем же Claude Code, но моделькой возможно чуть более ггаллюцинирующей, но при написании спецификаций, а не просьб "сделай мне хорошо" прекрасно работающей.
В случае реализации риска "полная блокировка трафика из РФ зарубеж" конечно, сложнее. Тут либо на "внутриРФ" модель придется переключаться (благо есть проекты CCRouter, позволяющие Claude Code использовать другие API, не только антрофиковые), либо вообще на собственную (домашнюю).
AI MAX+ 395 128gb, Strix Halo - позволяют комфортно работать с gpt-oss-120b. Конечно, это ни разу не Optus 4.5, но при полном запрете коммуницировать с внешним миром и это неплохо (уж для меня точно пропавший доступ к Optus 4.5 станет не главной проблемой).
Можно и что-то понавороченнее использовать.
Если все-таки не столь радикально, и хочется еще больше свободы, при этом используя подход со спецификациями - какой-нибудь опенсоурсный OpenSpec.
Один и тот же подход к составлению спек, тасков и т.п. получите практически в люблм инструменте. Разница практически только в моделях.
А так - можно openspec:proposal выполнить в Claude Code, а openspec:apply в Antigravity. Или в Copilot. Или RooCode...
Для меня качество кода важно. Еще важнее, чтобы он был понятен и мне через год, и другим. И сами описания были доступны человекам (почему я решил так, а не иначе). Сам я такое не сделаю на постоянной основе :)
Поэтому типичный подход:
Написать руками задание - небольшую задачу. Например, конкретный плагин, а не сразу все. Даже страничку frontend к нему - уже другая задача. Ее планирование начнется после полного завершение backend
Скормить в Gemini с просьбой найти неопределеннойсти, задать уточняющие вопросы и сформулировать как четкое задание.
Проанализировать, насколько Gemini правильно поняла мои хотелки. (в точности как с подчиненными - их я тоже прошу вкратце описать шаги, как они собираются мое задание выполнять, какие видят подводные камни, в каких случаях придут ко мне за советом).
Скормить в /openspec:proposal
Получить proposal.md, design.md, tasks.md, spec.md (тут уже видно, какие будут созданы классы)
Внимательно их прочитать и подумать. Решить, устраивает ли меня здесь dataclass или уже предпочту Pydantic model (хотя чаще это уже в задании указано)
При необходимости ответить на open questions и попросить что-то в спеке переделать (ибо забыл что-то изначально указать).
Только после этого запустить /openspec:apply
В случае написания нового кода - автоматический apply, при исправлениях - ручное подтвержение каждого изменения.
Анализ написанного, исправления комментариев (убрать очевидные, оставить, возможно уточнить описывающие, почему именно так...)
При этом в постоянный контекст загружены CONVENTIONS.md и прочие общие правила и шаблоны, во всем существующем коде type hints, комментарии. Описаны Quality Gate (ruff, mypy, eslint...)
Да, контекст сильно загружен. Чуть ли не 40K изначально отожрано. При 64К контексте такого не мог себе позволить, сейчас уже вполне. Особенно если попросить ее на подзадачи запускать конкретных агентов, которые в собственном контексте отрабатывают, а чужой не жрут.
Очень схожие ощущения (BMAD слишком заумный для меня, SpecKit - для моих задач избыточен, OpenSpec - самое то).
И небольшая добавка - я часто сначала пишу будущий Proposal. Потом скармливаю Gemini 3, и она выдает нормальный текст для /openspec:proposal.
У меня Gem есть для преобразования. Начинается как
Act as a 'Senior Technical Product Manager and Prompt Architect'. Your specialty is translating high-level, sometimes vague human ideas into rigorous, machine-readable specifications. You are the bridge between a user's vision and an AI Agent's execution. Your tone is professional, analytical, and highly structured, but you use simple language to ensure clarity.
...
И он сначала задает несколько уточняющих вопросов по "моей" спеке, уточняет какие-то моменты, и формирует уже более четкий текст, по которому проще генерится proposal, с меньшим количеством уточнений и вольностей.
Разумеется, можно и другую модель использовать для подобной цели. Но предварительно из своего потока сознания получить нечто структурированное и без неоднозначностей, на основании чего уже реально с OpenSpec работать, существенно улучшает следующие этапы.
Какая-то промежуточная область. В нем может быть не совсем то, что на диске и не совсем то, что в репозитории/коммите.
git status покажет.
Коммит в dev. Без push в Гитхаб. Может пуш в Gitea, неважно. В индекс файл при этом "слегка конфиденциальный" файл попал.
Переключаюсь на master. Редактирую какой-то другой файл (безо всяких merge). Даже внимательно проверяю, что git add сделал только для измененного файла, не того, который хотел скрыть.
Коммичу master, пушу в гитхаб. В Гитхаб уходит как раз индекс, а не напрямую с диска.
В гитхабе теперь можно увидеть мой секретный файл или нет? (вдруг у dev свой индекс, у master свой).
Чисто "академический" интерес для собственного понимания. Конечно, в жизни я не буду так извращаться.
Именно поэтому мне нет смысла оставлять излишки у себя.
И не зря писал
Мне пофиг привезут они бадью непосредственно из магазина или накануне она у кого-то другого стояла.
Я заказываю у тех, кто "на разрыв" и в очередь. Впрочем, даже в этом случае, разумеется, речь о закрытой таре, а не колбасных обрезках.
И номенклатура согласована. Конечно, можно опасаться, что на рынке переклеили бирки на до степени смешения похожий провод, но я заказываю все-таки у приличных мастеров.
Если нанимать неизвестных шаромыжников, у которых надо контролировать каждый шаг, включая, что они используют то, что вы купили, а не подменили на фигню какую-то - это совсем другой кейс, и там ваш подход, конечно, оправдан.
Возможно я ненормальный заказчик, но мой типичный кейс:
Я заказал отштукатурить стены. Договорился на конретный материал (марку штукатурки и т.п.) и цену за работу.
Мне пофиг привезут они бадью непосредственно из магазина или накануне она у кого-то другого стояла.
Если окажется, что мои стены были менее кривые, чем ожидались, и штукатурки ушло меньше, я с удовольствием позволю им излишки забрать а мне за них сколько-то денег вернуть (т.е. в итоге заплатить меньше, чем изначально договаривались).
Можно, конечно, заартачиться и сказать "нет, везите из магазина". Но тогда и мои излишки не заберут, и я в итоге заплачу больше и буду хранить ненужные остатки.
> в какой момент файл добавляется в индекс (становится отслеживаемым)
Странный вопрос. Вы сами его добавили в репозиторий в ветке dev
Файл на диске есть. Но когда я коммитил в master (условно после git add .), он был в .gitignore и в коммит, на Гихаб не попал.
В dev я его убрал из .gitignore и закоммитил.
Раньше вы писали: "Файл появится в master и улетит на GitHub только если вы перенесёте в master коммиты из dev". Если я еще не перенес коммиты из dev в мастер (не сделал merge), файл уже в индексе или еще нет?
Если я сейчас, без merge что-то поменяю теперь в master и коммит отправлю в Гитхаб (как и раньше, сначала выполнив git add . при том, что это файл опять в .gitignore), там этот ранее исключенный файл появится?
Если он попал в индекс в момент коммита в dev - да.
Можно вас просить скриншотик а-ля
Это в свежей Antigravity (1.18.4?) появилось (Antigravity Open User Settings).
Видно, наверное, будет, что сделал 5 вызовов, осталось всего ничего, а до рефреша еще жить да жить.
Сразу подумал об инструкциях ко всяким лекарствам. Там столько терминов...
Меня терзают смутные сомнения, что "глюкуронидный метаболит" и всякие оксидазы с цитохромами в приведенных словарях содержатся.
А ведь чистой воды донесение информации до потребителя.
"Отучаемся говорить за всех" (с)
Я даже подумал, что эти строки написаны живым автором, ибо нейросеткам подобные безапелляционные суждения не свойственны, если их явно о таком стиле не просить.
И даже захотелось поинтересоваться, какие картины автор пересматривает. Как часто ходит в Третьяковскую галерею полюбоваться на какую-то конкретную картину? Или, если ее там нет, открывает "Мону Лизу" на компе...
Личным опытом не поделюсь, пользуюсь настоящими СНГ-шными картами. Но могу посоветовать обзор https://exnode.ru/virtual-cards
И тут уж выбирать в зависимости от собственных планов. Для частых оплат, наверное, лучше заплатить за открытие карты, но с меньшими комиссиями. Для разовых - проще, к примеру, 4% комиссии отдать сервису, не требующему начальных вложений на открытие карт...
Для популярных сервисов есть более простые методы, но для Z.AI, пожалуй, нужен вот такой универсальный, через виртуальную карту.
У Opus меньше галлюцинаций по умолчанию. При простых запросах, думаю, он будет не сильно, но заметно лучше.
Поскольку я все равно сначал прошу спецификации (как минимум, режим плана), а также добавляю инструкции "сначала задай вопросы, уточни неясности", GLM-4.7 вместо фантазий у меня сначала все выясняет, если я что забыл указать. И тогда код пишет по ощущениям ничуть не хуже.
В режиме "скопировать ошибку" и пусть сам думает где и почему - Opus получше будет. В режиме "вот ошибка, добавь трейсов в подозрительных местах и проверь" - не вижу разницы. Примерно за одно время получаю исправленный результат даже если корень крылся далеко, где-нибудь при создании инстанса, передаваемого через dependency injection.
RTX Pro 6000 стоит вроде как $10K Все-таки пару Mac Studio M3 Ultra c 512GB за такие деньги купить проблематично.
Хотя если скорость неважна, а 96GB VRAM достаточно, конечно, и MiniPC AMD Max+ 395 со 128 GB DDR5 вполне хватит. А для 512GB mac вне конкуренции, это правда. Но цена...
Claude Code идеально работает с Z.AI GLM-4.7 ($36 за первый год с очень жирными лимитами)
Здесь все-таки про другое. Это MCP сервер. Скажем, vector memory вместо "шариться по всему коду" выдает нужные куски, база шаблонов... (ну и еще куча всего, с чем я пока не разбирался).
Скажем, у меня исторически в библиотеке был класс SSEEvent (сдуру так назвал в свое время). И все модели включая Opus, разные системы (CC, Antigravity...) постоянно лажали, вставляли в код SSEvent... Попытки объяснить, что там 2 заглавные E подряд особо не помогали, ибо видели вторую (маленькую) "e" и радостно восклицали "теперь все хорошо, две e".
Помогла именно инструкция "запомнить"
Она выдала
запомнила и больше не ошибалась.
В том же CLAUDE.md или CONVENTIONS.md куча написана и про шаблоны python, и про pytest, и прочее (там же у меня WebUI с React...). Пусть нужные шаблоны в нужное время от MCP получает вместо чтобы все в контексте держать.
Чисто ради интереса, можетет привести ваш промпт, которым вы просили ревью?
Практически уверен, что результат бы вас не настолько разочаровал, если бы вы использовали агента/команду (к примеру, https://github.com/anthropics/claude-code/blob/main/plugins/code-review/commands/code-review.md), уже с уточнениями типа
Но да, для разных видов review нужны разные. Для быстрой проверки можно просто положить в ~/.claude/commands какой-нибудь https://github.com/wshobson/commands/blob/main/tools/tech-debt.md . Перезапустить Claude Code и вызвать через
/Не обязательно все ставить. Просто оценить, есть ли разница с примитивными промптами или такая же фигня.Для начала можно взглянуть на plati.market
Разумеется, внимательно. Там можно как просто пополнить баланс "рублями" (как вы и спрашивали), так и "хитрые" предложения а-ля "за небольшую денежку получить триальную подписку на год". Т.е. надо внимательно читать и фильтровать.
Для меня да, я так и написал :)
Просто хотел показать, что с точки зрения "продолжить кодить" даже такой безумный риск можно худо-бедно "митигировать".
Коль скоро вы такой фанат Claude Code, не планируете ли про claude-flow написать?
Я впечатлился кучей встроенных инструментов для памяти вместо тому, чтобы самому собирать из отдельных "мемори банков". Но сам пока не могу пользоваться. Сначала закидываю свои хотелки в Gemini, чтобы она перформулировала, структурировала и обвешала спефичными инструкциями типа
Зато потом (после проверки плана) действительно исправлять приходится только то, о чем забыл сказать, либо вовсе позже решил иначе сделать.
Чтобы найти решение, надо сначала описать риск.
Проблема:
Допустим, вы готовы использовать Claude Code, как описано в статье. Используете его какое-то время, потом вдруг Antrophic вам блокирует доступ к своей модели (не к софту у вас на компе, вы за него не платили и т.п.)
Решение:
Настраиваете переменные окружения типа
ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic
И пользуетесь в той же среде тем же Claude Code, но моделькой возможно чуть более ггаллюцинирующей, но при написании спецификаций, а не просьб "сделай мне хорошо" прекрасно работающей.
В случае реализации риска "полная блокировка трафика из РФ зарубеж" конечно, сложнее. Тут либо на "внутриРФ" модель придется переключаться (благо есть проекты CCRouter, позволяющие Claude Code использовать другие API, не только антрофиковые), либо вообще на собственную (домашнюю).
AI MAX+ 395 128gb, Strix Halo - позволяют комфортно работать с gpt-oss-120b. Конечно, это ни разу не Optus 4.5, но при полном запрете коммуницировать с внешним миром и это неплохо (уж для меня точно пропавший доступ к Optus 4.5 станет не главной проблемой).
Можно и что-то понавороченнее использовать.
Если все-таки не столь радикально, и хочется еще больше свободы, при этом используя подход со спецификациями - какой-нибудь опенсоурсный OpenSpec.
Один и тот же подход к составлению спек, тасков и т.п. получите практически в люблм инструменте. Разница практически только в моделях.
А так - можно openspec:proposal выполнить в Claude Code, а openspec:apply в Antigravity. Или в Copilot. Или RooCode...
Для меня качество кода важно. Еще важнее, чтобы он был понятен и мне через год, и другим. И сами описания были доступны человекам (почему я решил так, а не иначе). Сам я такое не сделаю на постоянной основе :)
Поэтому типичный подход:
Написать руками задание - небольшую задачу. Например, конкретный плагин, а не сразу все. Даже страничку frontend к нему - уже другая задача. Ее планирование начнется после полного завершение backend
Скормить в Gemini с просьбой найти неопределеннойсти, задать уточняющие вопросы и сформулировать как четкое задание.
Проанализировать, насколько Gemini правильно поняла мои хотелки.
(в точности как с подчиненными - их я тоже прошу вкратце описать шаги, как они собираются мое задание выполнять, какие видят подводные камни, в каких случаях придут ко мне за советом).
Скормить в /openspec:proposal
Получить proposal.md, design.md, tasks.md, spec.md (тут уже видно, какие будут созданы классы)
Внимательно их прочитать и подумать. Решить, устраивает ли меня здесь dataclass или уже предпочту Pydantic model (хотя чаще это уже в задании указано)
При необходимости ответить на open questions и попросить что-то в спеке переделать (ибо забыл что-то изначально указать).
Только после этого запустить /openspec:apply
В случае написания нового кода - автоматический apply, при исправлениях - ручное подтвержение каждого изменения.
Анализ написанного, исправления комментариев (убрать очевидные, оставить, возможно уточнить описывающие, почему именно так...)
При этом в постоянный контекст загружены CONVENTIONS.md и прочие общие правила и шаблоны, во всем существующем коде type hints, комментарии. Описаны Quality Gate (ruff, mypy, eslint...)
Да, контекст сильно загружен. Чуть ли не 40K изначально отожрано. При 64К контексте такого не мог себе позволить, сейчас уже вполне. Особенно если попросить ее на подзадачи запускать конкретных агентов, которые в собственном контексте отрабатывают, а чужой не жрут.
В смысле "пофиг с ростом контекста"?
Типа у вас он не начинает предупреждать "контекст за полнен на 80%", а потом и восе принудительно compact запускать?
Спасибо!
Очень схожие ощущения (BMAD слишком заумный для меня, SpecKit - для моих задач избыточен, OpenSpec - самое то).
И небольшая добавка - я часто сначала пишу будущий Proposal. Потом скармливаю Gemini 3, и она выдает нормальный текст для /openspec:proposal.
У меня Gem есть для преобразования. Начинается как
И он сначала задает несколько уточняющих вопросов по "моей" спеке, уточняет какие-то моменты, и формирует уже более четкий текст, по которому проще генерится proposal, с меньшим количеством уточнений и вольностей.
Разумеется, можно и другую модель использовать для подобной цели. Но предварительно из своего потока сознания получить нечто структурированное и без неоднозначностей, на основании чего уже реально с OpenSpec работать, существенно улучшает следующие этапы.
Какая-то промежуточная область. В нем может быть не совсем то, что на диске и не совсем то, что в репозитории/коммите.
git status покажет.
Коммит в dev. Без push в Гитхаб. Может пуш в Gitea, неважно. В индекс файл при этом "слегка конфиденциальный" файл попал.
Переключаюсь на master. Редактирую какой-то другой файл (безо всяких merge). Даже внимательно проверяю, что git add сделал только для измененного файла, не того, который хотел скрыть.
Коммичу master, пушу в гитхаб. В Гитхаб уходит как раз индекс, а не напрямую с диска.
В гитхабе теперь можно увидеть мой секретный файл или нет? (вдруг у dev свой индекс, у master свой).
Чисто "академический" интерес для собственного понимания. Конечно, в жизни я не буду так извращаться.
Именно поэтому мне нет смысла оставлять излишки у себя.
И не зря писал
Я заказываю у тех, кто "на разрыв" и в очередь. Впрочем, даже в этом случае, разумеется, речь о закрытой таре, а не колбасных обрезках.
И номенклатура согласована. Конечно, можно опасаться, что на рынке переклеили бирки на до степени смешения похожий провод, но я заказываю все-таки у приличных мастеров.
Если нанимать неизвестных шаромыжников, у которых надо контролировать каждый шаг, включая, что они используют то, что вы купили, а не подменили на фигню какую-то - это совсем другой кейс, и там ваш подход, конечно, оправдан.
Возможно я ненормальный заказчик, но мой типичный кейс:
Я заказал отштукатурить стены. Договорился на конретный материал (марку штукатурки и т.п.) и цену за работу.
Мне пофиг привезут они бадью непосредственно из магазина или накануне она у кого-то другого стояла.
Если окажется, что мои стены были менее кривые, чем ожидались, и штукатурки ушло меньше, я с удовольствием позволю им излишки забрать а мне за них сколько-то денег вернуть (т.е. в итоге заплатить меньше, чем изначально договаривались).
Можно, конечно, заартачиться и сказать "нет, везите из магазина". Но тогда и мои излишки не заберут, и я в итоге заплачу больше и буду хранить ненужные остатки.
Файл на диске есть. Но когда я коммитил в master (условно после
git add .), он был в .gitignore и в коммит, на Гихаб не попал.В dev я его убрал из .gitignore и закоммитил.
Раньше вы писали: "Файл появится в master и улетит на GitHub только если вы перенесёте в master коммиты из dev". Если я еще не перенес коммиты из dev в мастер (не сделал merge), файл уже в индексе или еще нет?
Если я сейчас, без merge что-то поменяю теперь в master и коммит отправлю в Гитхаб (как и раньше, сначала выполнив
git add .при том, что это файл опять в .gitignore), там этот ранее исключенный файл появится?Если он попал в индекс в момент коммита в dev - да.
Если только после merge из dev в master - нет.