← All posts
Настройте автоматическую отметку времени для Git-коммитов за минуты

Настройте автоматическую отметку времени для Git-коммитов за минуты

timestamp git blockchain proof

Настройте автоматическую простановку временных меток Git-коммитов за считанные минуты

Если вы когда-нибудь пытались доказать, когда был написан тот или иной фрагмент кода, вам знаком этот ручной танец: запускать команду простановки метки после каждого важного коммита, хранить квитанцию где-нибудь в надёжном месте, помнить, какие файлы покрыты, и надеяться, что вы не пропустили тот самый коммит, который позже окажется в центре спора. Это утомительно, чревато ошибками и практически невозможно поддерживать на протяжении реального жизненного цикла проекта.

Автоматическая простановка временных меток Git-коммитов полностью снимает это бремя. С правильным управляемым сервисом это становится одноразовой настройкой, занимающей минуты, — а не постоянной рутиной. Timestamp GIT предлагает именно это: GitHub App, который ежедневно привязывает хеши ваших коммитов к блокчейну Bitcoin, без необходимости работать с CLI или управлять файлами квитанций.

В этой статье рассматриваются настройка, автоматизированный конвейер, мониторинг и лучшие практики, чтобы вы могли настроить всё один раз и забыть об этом.


Рутинная задача, которую можно исключить

Традиционные рабочие процессы простановки временных меток загоняют разработчиков в цикл ручных шагов:

Это хрупкая система. Люди забывают. Квитанции теряются. Сама идея доказательства «я написал этот код в эту дату» рушится, когда процесс зависит от памяти и дисциплины.

Можно запустить базовый протокол OpenTimestamps самостоятельно, но это означает написание скриптов вокруг CLI-команд, обработку квитанций и отслеживание подтверждений в блокчейне. Это сложный путь — и именно его устраняет Timestamp GIT.

Timestamp GIT автоматизирует каждый шаг: после установки GitHub App каждый коммит в отслеживаемом репозитории собирается, группируется и привязывается к Bitcoin каждую ночь. Вам не нужно запускать команды, управлять квитанциями или помнить о необходимости что-либо штамповать. Это автоматическая простановка временных меток Git-коммитов в самом прямом смысле.

Подробное описание самой установки см. в статье Установка GitHub App для автоматической простановки временных меток кода. Эта статья посвящена сквозной настройке и автоматизации, которая работает после неё.


Одноразовая настройка: подключите ваш репозиторий

Настройка занимает несколько минут. Вот порядок действий:

  1. Установите GitHub App Timestamp GIT из GitHub Marketplace.
  2. Выберите репозитории для мониторинга. Поддерживаются публичные и приватные репозитории в зависимости от вашего тарифного плана.
  3. Выберите модель доступа:
    • Стандартный режим: GitHub App требуется доступ только на чтение к исходному репозиторию. Он читает только хеш HEAD-коммита — никогда содержимое файлов.
    • Режим Enterprise ZK: доступа на чтение к исходному коду нет вообще. GitHub Action в вашей инфраструктуре отправляет в API Timestamp GIT только хеш коммита. Ваш исходный код никогда не покидает вашу среду.
  4. Подтвердите установку.

После этого ручных шагов больше нет. Система следит за репозиторием, автоматически обнаруживает новые коммиты и каждую ночь запускает конвейер простановки меток.

Если вы разворачиваете решение самостоятельно через Docker-образ, мастер настройки проведёт вас через подключение GitHub App и конфигурацию экземпляра. Для большинства команд самый быстрый путь — SaaS-версия GitHub App.


Автоматизированный конвейер: от коммита до привязки в Bitcoin

Вот что происходит после подключения репозитория:

Ночная пакетная обработка

Каждый хеш коммита сохраняется в очереди в памяти по мере поступления. Каждую ночь запускается обработчик и группирует все ожидающие хеши для каждого репозитория. Он создаёт файлы манифеста (.txt), нативно строит дерево Меркла и генерирует доказательства OpenTimestamps с использованием публичных календарей.

Корень Меркла дневного пакета затем привязывается к блоку Bitcoin через протокол OpenTimestamps. После подтверждения в блокчейне временная метка становится неизменяемой — ни одна сущность, включая Timestamp GIT, не может изменить или подделать её.

Доставка доказательств

После подтверждения привязки (обычно около 3 часов) Timestamp GIT отправляет манифест и файлы квитанций .ots обратно в ваш репозиторий в отдельную ветку timestamps или теневой репозиторий. Вам не нужно ничего забирать вручную; доказательство версионируется прямо рядом с вашим кодом.

Режим Enterprise ZK в 12 строках

Если вы не можете предоставить доступ на чтение к исходному коду, режим Enterprise ZK использует GitHub Action, который выполняется в вашей инфраструктуре. Он отправляет в API только хеш коммита. Вот минимальный рабочий пример:

name: Timestamp commit hash
on: [push]
jobs:
  anchor:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: |
          curl -X POST "https://timestampgit.dev/api/timestamp/${{ github.repository }}/${{ github.ref_name }}/${{ github.sha }}/${{ secrets.TIMESTAMPGIT_HMAC }}"

Это весь action целиком. Фактический шаблон предоставляется при настройке Enterprise ZK, но принцип прост: отправьте идентификатор коммита и подписанный HMAC в API, и больше ничего не покидает вашу среду.

REST API для статуса, верификации и аудита

Автоматизация распространяется и на отчётность. Публичные эндпоинты позволяют запрашивать состояние доказательства без входа в панель управления:

# Информация о последнем привязанном блоке Bitcoin
curl https://timestampgit.dev/api/statusLast/your-org/your-repo

# Общее количество закоммиченных/проштампованных коммитов
curl https://timestampgit.dev/api/statusCount/your-org/your-repo

# Сводная информация для бейджей Shields.io
curl https://timestampgit.dev/api/statusSummary/your-org/your-repo

# Скачать полный журнал аудита в формате CSV
curl -O https://timestampgit.dev/api/audit/your-org/your-repo

# Скачать PDF-сертификат за определённую дату
curl -O https://timestampgit.dev/api/report/your-org/your-repo/2026-08-19

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


Мониторинг и обработка сбоев

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

Публичная панель статуса

Каждый репозиторий получает публичную панель по адресу https://timestampgit.dev/status/{user}/{repo}. На ней отображается:

Вы также можете скачать CSV-журнал аудита и PDF-сертификат за любую дату. Это полезно для комплаенса и офлайн-ведения записей.

Встраиваемые бейджи верификации

Timestamp GIT предоставляет фрагменты кода бейджей, которые можно вставить в README. Бейдж отображает статус верификации в реальном времени и ссылается на публичную страницу верификации, где любой может проверить цепочку Меркла. Страница выполняет все вычисления локально в браузере — верификация с нулевым разглашением.

Обработка задержек и пропущенных дней

Подтверждение в Bitcoin занимает время, обычно около 3 часов. Система обрабатывает эту задержку автоматически; ваше доказательство записывается после подтверждения привязки. Если вы коммитите после ночного дедлайна, хеш попадает в пакет следующего дня.

Если в какой-то день коммитов нет, временная метка за этот день не генерируется. Существующие доказательства остаются действительными; система просто пропускает пустой пакет.

Для приватных репозиториев URL-адреса, подписанные HMAC, защищают доступ к страницам статуса и верификации. Только люди с правильным HMAC могут видеть состояние доказательства.


Лучшие практики для надёжной простановки меток

Чтобы получить максимум от автоматической простановки временных меток Git-коммитов, следуйте этим рекомендациям:


FAQ

Как работает автоматическая простановка временных меток Git-коммитов?

Timestamp GIT использует GitHub App для автоматического обнаружения новых коммитов. Каждую ночь он собирает хеши коммитов, строит дерево Меркла и привязывает корень к блокчейну Bitcoin через OpenTimestamps. Квитанции доказательств (файлы .ots) отправляются обратно в ваш репозиторий, обеспечивая неизменяемое доказательство существования.

Попадает ли мой исходный код в Timestamp GIT?

Нет. В стандартном режиме GitHub App читает только хеши коммитов, а не содержимое файлов. В режиме Enterprise ZK GitHub Action в вашей инфраструктуре отправляет в API только хеши, поэтому ваш исходный код никогда не покидает вашу среду.

Что произойдёт, если я пропущу день без коммитов?

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

Могу ли я проверить временные метки, не полагаясь на серверы Timestamp GIT?

Да. Файлы квитанций .ots можно проверить независимо с помощью стандартных инструментов OpenTimestamps по блокчейну Bitcoin. Timestamp GIT также предоставляет страницу верификации в браузере, которая выполняет все вычисления локально.


Настройте и забудьте

Автоматическая простановка временных меток Git-коммитов превращает утомительную и подверженную ошибкам рутину в фоновый процесс. Вы один раз устанавливаете GitHub App, подключаете репозитории, и каждый коммит привязывается к Bitcoin каждую ночь — без ручных команд, без управления квитанциями, без необходимости что-либо помнить.

Timestamp GIT — это управляемый сервис, который делает это возможным. Он скрывает сложность OpenTimestamps за чистым GitHub App, доставляет доказательства прямо в ваш репозиторий и предоставляет панели, бейджи и API для верификации. Готовы начать? Установите GitHub App, подключите репозиторий, и пусть начнётся ночная привязка.


Связанные статьи

EU label: AI-generated content